PHP如何在保留数组原有键的前提下比较数组的值?
实现方法
因为你的数组固定只有2个元素,无需知道具体键名也能操作,直接提取值列表和键列表即可实现需求,代码示例如下:
$arr = array( 5 => 180, 3 => 120 ); // 提取数组所有值,生成索引从0开始的新数组 $values = array_values($arr); // 提取数组所有原有键名,顺序和$values完全对应 $keys = array_keys($arr); if ($values[0] != $values[1]) { // 取第一个元素的值,需要拿原键名可使用$keys[0] $variable = $values[0]; } else { $variable = ($values[0] + $values[1]) / 2; }
说明
array_values()会按原数组的元素顺序返回所有值组成的索引数组,因为元素数量固定为2,所以索引0、1必然存在- 如果你后续需要用到原数组的键名,直接从
$keys数组中按索引取即可,和$values的顺序一一对应,完全保留原有键信息
内容的提问来源于stack exchange,提问作者Demuri Celidze
相关产品推荐
相关产品推荐

