--- Добавлено --- Код (Text): $arr1 = [ 1, 2, 3, 4, 5, [ 'apple', 'orange', 'banana' ], 6, 7 ]; echo '<pre>'; echo print_r($arr1); //echo var_dump($arr1); echo '</pre>'; echo count($arr1); выводит каунт 8, и мутную единицу заменил в коде 5, на => получил каунт 7, но 1 продолжает выводиться за пределами масива почему ?
заменил в коде 5, на => получил каунт 7 да с этим уже понял спасибо, но вот почему 1 при принте выводит ?
Потому что ты чудак, пишешь всякую фигню echo print_r --- Добавлено --- print_r возвращает true, а выводит на экран булевы значения как 0 или 1
Код (Text): $a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z')); echo "<pre>"; print_r ($a); echo "</pre>"; echo count($a); при таком типе записи, 1иницы не будет за пределами масcива почему ?
любой не пустой массив будет содержать true что ровно логической 1ицы ичто с того ? во втором случае тоже true но 1ицы за пределами массива нет, почему ?
ты пишешь echo print_r() то есть просишь вывести в поток результат выполнения функции print_r. сама функция выводит тебе в поток содержимое переменной и возвращает истину как результат своего выполнения. эта истина конвертируется в единицу для вывода в поток и выводится в поток. убери echo перед print_r и перестанешь получать эту единицу которая тебе так мозг сломала.