php count返回1而不是实际数组长度
我使用array_push创建了一个数组,它包含2个元素,count返回1。 为什么会这样 代码:php count返回1而不是实际数组长度,php,arrays,Php,Arrays,我使用array_push创建了一个数组,它包含2个元素,count返回1。 为什么会这样 代码: $length = count($usersNoList) var_dump($usersNoList); echo "Length:".$length; 输出: array2{[0]=>string16 Kenyon Velazquez[1]=>string12 Seth Ellison}长度:1 完整代码: $usersNoList = array(); while($result = $r
$length = count($usersNoList)
var_dump($usersNoList);
echo "Length:".$length;
输出:
array2{[0]=>string16 Kenyon Velazquez[1]=>string12 Seth Ellison}长度:1
完整代码:
$usersNoList = array();
while($result = $rawResult -> fetch_assoc()) {
$user = new Utilisateur($result['IdUtilisateur'], $co);
// looks for the user in those who have lists
if($key = array_search($user -> getId(), $usersWithList) == FALSE) {
// construct the array of names
array_push($usersNoList, $user -> getPrenom()." ".$user -> getNom());
} else {
// remove this value from the array
var_dump($usersWithList);
array_splice($usersWithList, $key - 1, $key);
var_dump($usersWithList);
}
}
if($length = count($usersNoList) > 0){
echo "
<tr>
<td>
<p>Ces utilisateurs n'ont pas encore de liste : ";
var_dump($usersNoList);
echo "Length:".$length;
for($i = 0; $i < $length; $i++){
echo $usersNoList[$i].", ";
}
echo $usersNoList[$length - 1].".";
echo "</p>
</td>
</tr>";
}
$length接受布尔表达式count$usersNoList>0的值,该值为true。这就是为什么它的计算结果为1 true
只需在if语句之前声明并分配$length,以便在语句内部和条件中使用它。E.i:
$length = count($userNoList);
if($length > 0) {
var_dump($usersNoList);
echo "Length:".$length; // displays 2
}
@Jules的回答启发了我,让我想到添加括号,比如
if(($length = count($usersNoList)) > 0){
echo $length;
}
也可以。您的问题是什么?你想做什么,你尝试了什么?对我来说很好,对我来说在本地主机上也很好,并且你在这段代码中有一个语法错误。所以这显然不是你的确切代码。请复制/粘贴,而不是尝试手动重新编写。在何处/如何定义$length?如果数组是多维的,则可能是行为@不客气。如果问题完全解决了,请考虑接受ANWSER,使POST显示得到解决。