Я использую PHP и MongoDB. Я могу перебирать массив и печатать каждое значение на экране, но когда я просто хочу напечатать 1 значение, ничего не выходит, и я также не получаю ошибку.
<?php
$mng = new MongoDB\Driver\Manager(
'mongodb+srv://removedUsername:[email protected]/test?retryWrites=true');
$query = new MongoDB\Driver\Query([], [
'MenusAttached' => true,
]);
$rows = $mng->executeQuery('restaurantApp.restaurants', $query);
$emptyArray = [];
foreach ($rows as $row)
{
//echo $row->MenusAttached;
array_push($emptyArray, $row->MenusAttached);
}
echo "Starting";
//RELEVANT CODE BELOW.
for ($i = 0; $i < count($emptyArray); $i++) {
echo $emptyArray[$i]; //THIS WORKS
echo $emptyArray[1]; //BLANK, NOTHING COMES UP, NO ERROR. WHY?
}
?>
print_r($emptyArray) и поделитесь результатом
Попробуйте $emptyArray[0]
Вам следует научиться отлаживать такие ошибки, например, var_dump($emptyArray); и посмотреть, что находится внутри этого массива
Лучше использовать foreach() при зацикливании массивов. Но, возможно, $emptyArray[1]; пусто или равно нулю.






1.Вместо
array_push($emptyArray, $row->MenusAttached);
Использовать
$emptyArray[] = $row->MenusAttached;
2. Вместо цикла for() используйте foreach(), как показано ниже.
foreach ( $emptyArray as $arr ){
print_r($arr); // check the value and then proceed accordingly
}
какой размер массива?
echo count($emptyArray)и поделитесь результатом