Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP不使用循环从多维数组中提取值_Php_Arrays_Loops_Foreach_Extract - Fatal编程技术网

PHP不使用循环从多维数组中提取值

PHP不使用循环从多维数组中提取值,php,arrays,loops,foreach,extract,Php,Arrays,Loops,Foreach,Extract,我只是想知道是否有可能在PHP中从数组中提取值,而不必循环。这是我数组的一部分,所以你知道我的意思 Array ( [0] => Array ( [0] => 76 [1] => Adventures of Huckleberry Finn ) [1] => Array ( [0] => 65 [1] => Adventures of Huckleberry Finn

我只是想知道是否有可能在PHP中从数组中提取值,而不必循环。这是我数组的一部分,所以你知道我的意思

Array
(
[0] => Array
    (
        [0] => 76
        [1] => Adventures of Huckleberry Finn
    )

[1] => Array
    (
        [0] => 65
        [1] => Adventures of Huckleberry Finn
    )

[2] => Array
    (
        [0] => 59
        [1] => Bookcases
    )
)
我在寻找每个数组中的整数[0]——是否有一个函数可以比foreach循环更快地完成这项工作(我通常这样做)


谢谢

你最终的意思是要走。。。但这也是某种循环?那么:答案是否定的

我不认为有任何更快的方法(除了用C:-p编写自己的扩展名)

试试:

array_walk($array, function(&$v) { $v = $v[0]; });

这将把数组转换成您想要的格式。

您可能正在寻找数组\u walk()


当然,如果您的数组位于变量$myArray中,那么这将是一个清晰的循环,您的同事会感谢您的。它可能比任何其他解决方案都快,而且清晰的代码比模糊的循环规避更可取

举个例子:您需要多少秒才能看到:

list($b) = call_user_func_array('array_map',array_merge(array(null),$a));
是吗


这就是诀窍。不要使用它。

确定您正在查找该函数

$newArray = array_column($originalArray,'0');

正如PHP手册中所说,使用此函数,您可以从数组数组中提取所需的唯一信息。它通常与关联数组一起使用,但您可以使用数字作为参数,它也可以工作。

是否提取所有数据?我需要一个只有数字的数组,所以数组(76,65,59)我现在只看数组。我想要的输出是array(76,65,59)-array_walk会这样做吗?请看下面的答案:;)最后与之相同的是:
foreach($array as&$v)$v=$v[0]array\u walk
的优点是
$v
不会污染名称空间。我刚刚测试了这个功能,它可以完美地将
$newArray
设置为您需要的值。
$newArray = array_column($originalArray,'0');