ホームページ >バックエンド開発 >PHPチュートリアル >将PHP二维数组提取出自己想要的信息

将PHP二维数组提取出自己想要的信息

WBOY
WBOYオリジナル
2016-06-06 20:29:081251ブラウズ

原二维数组,信息很多

<code>array (size=16)
  'id' => string '64' (length=2)
  'user_id' => string '64' (length=2)
  'doc_id' => string '121' (length=3)
  'time' => string '2015-08-07 11:41:28' (length=19)
  'email' => string 'yintx_123@163.com' (length=17)
  'username' => string '孙策' (length=6)
  'password' => string '18bc4215375cd9773a5f572934018bfa' (length=32)
  'phone' => string '456181687' (length=9)
  'category' => string '2' (length=1)
  'company' => string '东吴集团' (length=12)
  'name' => string '孙策' (length=6)
  'position' => string '我被社长干死了' (length=21)
  'address' => string '建康' (length=6)
  'state' => string '3' (length=1)
  'other_field' => null
  'authentication' => string '1' (length=1)

array (size=16)
  'id' => string '65' (length=2)
  'user_id' => string '65' (length=2)
  'doc_id' => string '121' (length=3)
  'time' => string '2015-08-11 04:27:08' (length=19)
  'email' => string 'yintx_121@163.com' (length=17)
  'username' => string '刘封' (length=6)
  'password' => string '18bc4215375cd9773a5f572934018bfa' (length=32)
  'phone' => string '' (length=0)
  'category' => string '0' (length=1)
  'company' => string '蜀汉' (length=6)
  'name' => string '刘封' (length=6)
  'position' => string '备胎' (length=6)
  'address' => string '荆州阿萨斯' (length=15)
  'state' => string '2' (length=1)
  'other_field' => null
  'authentication' => string '1' (length=1)
</code>

现在只需要email,company,name,phone这四个值,怎么操作?

<code>array (size=16)
  'email' => string 'yintx_123@163.com' (length=17)
  'phone' => string '456181687' (length=9)
  'company' => string '东吴集团' (length=12)
  'name' => string '孙策' (length=6)
</code>
<code>array (size=16)
  'email' => string 'yintx_121@163.com' (length=17)
  'phone' => string '' (length=0)
  'company' => string '蜀汉' (length=6)
  'name' => string '刘封' (length=6)
</code>

回复内容:

原二维数组,信息很多

<code>array (size=16)
  'id' => string '64' (length=2)
  'user_id' => string '64' (length=2)
  'doc_id' => string '121' (length=3)
  'time' => string '2015-08-07 11:41:28' (length=19)
  'email' => string 'yintx_123@163.com' (length=17)
  'username' => string '孙策' (length=6)
  'password' => string '18bc4215375cd9773a5f572934018bfa' (length=32)
  'phone' => string '456181687' (length=9)
  'category' => string '2' (length=1)
  'company' => string '东吴集团' (length=12)
  'name' => string '孙策' (length=6)
  'position' => string '我被社长干死了' (length=21)
  'address' => string '建康' (length=6)
  'state' => string '3' (length=1)
  'other_field' => null
  'authentication' => string '1' (length=1)

array (size=16)
  'id' => string '65' (length=2)
  'user_id' => string '65' (length=2)
  'doc_id' => string '121' (length=3)
  'time' => string '2015-08-11 04:27:08' (length=19)
  'email' => string 'yintx_121@163.com' (length=17)
  'username' => string '刘封' (length=6)
  'password' => string '18bc4215375cd9773a5f572934018bfa' (length=32)
  'phone' => string '' (length=0)
  'category' => string '0' (length=1)
  'company' => string '蜀汉' (length=6)
  'name' => string '刘封' (length=6)
  'position' => string '备胎' (length=6)
  'address' => string '荆州阿萨斯' (length=15)
  'state' => string '2' (length=1)
  'other_field' => null
  'authentication' => string '1' (length=1)
</code>

现在只需要email,company,name,phone这四个值,怎么操作?

<code>array (size=16)
  'email' => string 'yintx_123@163.com' (length=17)
  'phone' => string '456181687' (length=9)
  'company' => string '东吴集团' (length=12)
  'name' => string '孙策' (length=6)
</code>
<code>array (size=16)
  'email' => string 'yintx_121@163.com' (length=17)
  'phone' => string '' (length=0)
  'company' => string '蜀汉' (length=6)
  'name' => string '刘封' (length=6)
</code>

$keys = array(email,company,name,phone);
foreach 下原数组,if (!in_array($key, $keys )),unset掉

<code class="php">$result = array_map(function($value){
  return ['email'=>$value['email'],'company'=>$value['company'],'name'=>$value['name'],'phone'=>$value['phone']];
}, $arr);
var_dump($result);</code>

<code><?php header('Content-Type: text/plain; charset=utf-8');
$arr = array(
    0 => array(
        'id' => 1,
        'name' => 'Apache',
        'version' => '2.4'
    ),
    1 => array(
        'id' => 2,
        'name' => 'Nginx',
        'version' => '1.8'
    )
);
$new = array();
foreach($arr as $k => $v) {
    $new[$k]['name'] = $v['name'];
    $new[$k]['version'] = $v['version'];
}
print_r($new);
//输出:
Array
(
    [0] => Array
        (
            [name] => Apache
            [version] => 2.4
        )

    [1] => Array
        (
            [name] => Nginx
            [version] => 1.8
        )

)</code>

来一个使用 array_walk() 的方法

<code>$array = array(
    array(
        'id' => 1,
        'name' => 'xiaoming',
        'age' => 14,
        'addr' => 'beijing',
    ),
    array(
        'id' => 2,
        'name' => 'xiaohong',
        'age' => 18,
        'addr' => 'tianjin',
    ),
);
function unEvent(&$value) {
    unset($value['age']);
    unset($value['addr']);
}
array_walk($array, 'unEvent');
var_dump($array);</code>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。