This article is for code sharing. I saw some "big cow" code at work and wanted to share it.
Specifically, the following two-dimensional array is read from the library.
Code list:
Copy code The code is as follows:
$user = array(
0 => array(
'id' => 1,
'name' => 'Zhang San',
'email' => 'zhangsan@sina.com',
),
1 => array(
'id' => 2,
'name' => '李思',
'email' => 'lisi@163. com',
),
2 => array(
'id' => 5,
'name' => '王五',
'email' => ; '10000@qq.com',
),
...
);
The above array format is mainly based on PHP+MYSQL. It must be very familiar.
So, now there are two requirements:
1) Get the set of index "id" and save it as a one-bit array, that is, get array(1,2,5)
I wonder how your friends would write it?
If it were the way I wrote it in the past, I would directly foreach, and then use array_push to stuff into array variables one by one. This can also be achieved. But this way of writing affects performance, because using PHP's native functions is definitely more efficient than looping.
Code list:
Copy code The code is as follows:
$ids = array();
$ids = array_map('array_shift', $user);
The above code can get the results we want. Please refer to the manual for the use of functions.
In fact, there is another solution here, using the array_column function, but this function requires PHP version requirements, (PHP 5 >= 5.5.0)
Code list:
Copy code The code is as follows:
$ids = array();
$ids = array_column($user, 'id');
In this case, the efficiency will definitely be higher.
2) Get the set of index "name" and save it as a one-bit array, that is, get array('Zhang San', 'Li Si', 'Wang Wu')
Follow the , my previous writing method was still the same foreach, and then array_push stuffed into an array variable one by one. See the efficient code listing.
Code list:
Copy code The code is as follows:
$names = array();
$names = array_reduce($user, create_function('$v,$w', '$v[$w["id"]]=$w["name"];return $v;'));
Get the result:
Copy the code The code is as follows:
array(
1 => 'Zhang San',
2 => 'Li Si',
5 => 'Wang Wu',
);
Children's shoes that are often foreach, hurry up Correct it!
http://www.bkjia.com/PHPjc/779571.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/779571.htmlTechArticleThis article is for code sharing. I also saw some "big cow" code at work, so I want to share it. Specifically, the following two-dimensional array is read from the library. Code listing...