您可能会在哪里寻找 array_map,示例如下:
<?
$width_array = array(
"2.5%",
"2.6%",
"2.7%",
"2.8%",
);
function adjust_the_width($value) {
return $value * 2;
}
$width_array = array_map("adjust_the_width", $width_array);
$random_width = array_rand($width_array, count($width_array));
var_dump($width_array);
注意:百分比从计算中删除,因为 PHP 在乘以 2 时将字符串“2.5%”解释为浮点值。
此外,array_map 将每个元素作为参数提供给所提供的函数,并使用它的返回值填充 array_map 构建的新数组中的相同位置。
这也是我赋值的原因$width_array = array_map(...
,array_map 构建了一个新数组,默认不会替换旧数组。
如果您不想构建中间数组,也可以这样做:
foreach($width_array as &$width) {
$width = $width * 2;
}
var_dump($width_array);
这会遍历数组并将每个元素修改为对其位置的引用(这就是 &$width 的含义)。
如果没有 '&',这个 foreach 循环只会咀嚼 cpu 循环。