我想快速帮助解决这个问题。不知道我遗失了什么。我正在尝试将新学校添加到名为带功能的学校的数组中,这样每当有人传入一个值时,它就会成为学校数组的一部分。
参见守则:
$schools = array("Johnson's College", "Oxford School of Ham");
echo count($schools);
function addSchools ($newSchool){
$schools[count($schools)] = $newSchool;
return $newSchool;
}
addSchool("Harvard Business School");
foreach($schools as $key){
echo $key;
}
foreach声明只是为了验证新学校:“Havard Business ...”被添加。但这是错误的。
任何帮助修复它,所以当我使用foreach遍历数组时,我会看到所有内容而不会出错。
感谢。
答案 0 :(得分:2)
只需添加:
$schools[]= $newSchool;
或使用array_push功能
如果使用array_push()向数组中添加一个元素,最好使用$ array [] =因为这样就没有调用函数的开销。
您可以将$ schools var设为全局或通过引用传递:
function addSchools (&$newSchool){
$schools[count($schools)] = $newSchool;
return $newSchool;
}
答案 1 :(得分:0)
尝试使用array_push();
这会将其添加到数组的末尾。
$schools = array("Johnson's College", "Oxford School of Ham");
echo count($schools);
function addSchools ($schools, $newSchool){
array_push($schools, $newSchool);
$schools[count($schools)] = $newSchool;
return $newSchool;
}
addSchool("Harvard Business School");
{foreach($schools as $key){
echo $key;
}
答案 2 :(得分:0)
您不需要创建另一个函数只是为了向您的数组添加另一个值,您可以像这样使用array_push()
。
<?php
$schools = array("Johnson's College", "Oxford School of Ham");
array_push($schools, "Harvard Business School");
print_r($schools);
答案 3 :(得分:0)
您调用函数addSchool("Harvard Business School");
但函数名称为addSchools
。在函数addSchools
中,变量$schools
是全局的,所以你的函数必须是这样的:
function addSchools ($newSchool){
global $schools;
$schools[count($schools)] = $newSchool;
return $newSchool;
}