PHP sizeof () возвращает 1 неправильно

Этот код работал на прошлой неделе, и я не помню, чтобы недавно менял этот код, но по какой-то причине он перестал работать сегодня.

Я сузил проблему, но я запутался в этом. В принципе, $fields = sizeof($dataArray[$r]); доходность $fields = 1, но, как вы можете видеть на изображении ниже, ECHO json_encode($dataArray); демонстрирует, что $fields = 9 следует соблюдать

$dataArray = $_POST['array'];

$validRows = array();
$invalidRows = array();

echo sizeof($dataArray); // correct output

for($r = 0; $r < sizeof($dataArray); $r++){

$fields = sizeof($dataArray[$r]); // $fields is not what I expect

ECHO json_encode($dataArray); // see image below (sent to javaScript alert)
ECHO sizeof($fields); // returns 1

...
}

ECHO json_encode($dataArray); Видно в предупреждении javaScript

введите описание изображения здесь

В чем моя проблема здесь?

-1

Решение

Основываясь на документации PHP, sizeOf (псевдоним Count) возвращает 1, если массив не исчисляется.

http://php.net/manual/en/function.count.php

Возвращает количество элементов в array_or_countable. Если параметр
не массив или не объект с реализованным интерфейсом Countable,
1 будет возвращен. Есть одно исключение, если array_or_countable
NULL, 0 будет возвращено.

Но, судя по всему, на вашем втором ECHO вы отображаете sizeOff из результата sizeoff, который будет одним числом
псевдо:
a = count («a», «b», «c»)
должно быть 3
ECHO count (a)
ЭХО Дисплей 1, так как (а) является одним элементом

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]