【发布时间】:2016-10-15 19:31:56
【问题描述】:
我正在尝试按字母顺序打印数组,并将每个字符串的第一个字母大写。它说 foreach() 中有一个无效的参数。
<?php
$stringsArr = array("zulu", "alpha", "omega");
function sortAndTitle($arr){
$newArr = ucfirst(sort($arr));
foreach($newArr as $value){
echo $value . "<br/>";
};
};
sortAndTitle($stringsArr);
?>
【问题讨论】:
-
我很困惑:为什么您的代码使用函数声明和函数调用来执行此操作,而数组甚至没有通过引用传递?你为什么不直接这样做呢?
$mapped = array_map("ucfirst", sort($stringsArr)))完成。 -
@Mike'Pomax'Kamermans 查看
sort()返回的内容。它就地修改数组并返回bool,因此您的代码也不起作用。 -
所以就地排序,然后像吉宾马修的回答一样使用array_map。