у меня есть сценарий петель вроде этого
for($i=0; $i < count($json); $i++) {
}
например, сумма $ json равна «12» или больше 10, но я хочу, чтобы максимальное количество этих циклов было 10, но, если я использую этот скрипт
for ($x = 0; $x < 10; $x++) {
}
результат будет 10, но что, если сумма $ json, которую я получил, меньше 10? означает, что результаты будут NULL, есть ли какие-либо предложения?






$count=count($json);
if ($count > 10){
$count = 10;
}
for ($x = 0; $x < $count; $x++) {
}
Можно использовать min() (http://php.net/manual/en/function.min.php)
$count = min (count($json), 10);
for($i=0; $i < $count; $i++) {
}
Лучше всего выполнять мин за пределами for, чтобы это было сделано только один раз.
Вы можете использовать array_slice, чтобы захватить первые 10 элементов массива и выполнить их поиск. Таким образом, вы всегда будете зацикливаться максимум 10 раз.
$json =[1,2,3,4,5,6,7,8,9,10,11,12,13,14];
//$json =[1,2,3,4,5,6]; //uncomment if you want to test with smaller array
$arr = array_slice($json, 0,10);
Foreach($arr as $val){
Echo $val ."\n";
}
Это также можно записать так:
Foreach(array_slice($json, 0,10) as $val){
Echo $val ."\n";
}
Но я изложил это, чтобы было понятно.
Вы можете попробовать код здесь: https://3v4l.org/7pV3X