所以我有一个具有大量数据的二维数组,我希望能够使用循环内循环从内部数组中获得一个特定的值。下面是一个示例数组:
Array
(
[0] => Array
(
[Field] => id
[Type] => int(10)
[Null] => NO
[Key] => PRI
[Default] =>
[Extra] => auto_increment
)
[1] => Array
(
[Field] => name
[Type] => varchar(100)
[Null] => NO
[Key] =>
[Default] =>
[Extra] =>
)
[2] => Array
(
[Field] => active
[Type] => enum('Y','N')
[Null] => NO
[Key] =>
[Default] => Y
[Extra] =>
)
)
从上面的数组中,我想获得键Field
的值,只像这样使用循环内循环:
$fields = array();
foreach ($columns as $columnSub) {
foreach ($columnSub as $ckey => $cvalue) {
if ($ckey === 'Field') {
$fields[] = $cvalue;
}
}
}
然而,由于数组很大,这需要相当长的时间。有没有更快的方法使用迭代器从上面的二维数组中取出所需的元素值,以一种有效的方式?
预期输出:Array
(
[0] => id
[1] => name
[2] => active
)
Thanks for the help
array_column
是甜的。PHP:
$fields = array_column($columns, 'Field');
PHP & lt;发送:
foreach($columns as $array) {
if(isset($array['Field'])) {
$fields[] = $array['Field'];
}
}
$fields = array();
foreach($array as $key => $values)
{
$fields[] = $values['Field'];
}
var_dump($fields);