【发布时间】:2017-09-08 14:51:32
【问题描述】:
首先,我想澄清一下,我不是在寻找一种解决方法来找到最大值——我已经有了实现该目标的解决方案。我很好奇的是为什么 max(array_push()) 不起作用。
我有一个包含许多值的数组,并且想要找到该数组中特定值的最大值。现有数组:
$array1 = array(2,6,1,'blue','desk chair');
基本思想是创建一个由这些指定值组成的新数组,然后找到该新数组的最大值。我试图让这项工作集中在一条线上:
$max = max(array_push($array2, $array1[0], $array1[1], $array1[2]));
//this doesn't work at all, since $array2 doesn't already exist, as per the PHP manual
我改成代码先创建$array2,但当时没有赋值,只是看看代码能不能用。
$array2 = array();
$max = max(array_push($array2, $array1[0], $array1[1], $array1[2]));
//$array2 is populated, but $max is not assigned
显而易见的解决方案是在创建时为$array2 赋值,然后单独使用max()。我只是好奇为什么max(array_push()) 找不到最大值,因为复合函数通常是从内到外运行的。
谢谢。
【问题讨论】:
-
“我很好奇为什么
max(array_push())不起作用。” -- 你是否好奇地阅读了array_push()的文档?它返回一个整数:数组中元素的新数量。 -
实际上,它适用于压入数组的最大值等于压入数组的元素数的所有情况>,嘿嘿!
标签: php arrays max array-push