Heim  >  Artikel  >  Backend-Entwicklung  >  将PHP二维数组提取出自己想要的信息

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

WBOY
WBOYOriginal
2016-06-06 20:29:081204Durchsuche

原二维数组,信息很多

<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>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn