Задать вопрос
@pilipolya
Node.js Dev

Почему функция выполняется один раз на сервере?

Отправляю с клиента на сервер массив $arr1, также на сервере есть уже отдельный массив $arr2.
Я получаю массив с клиента :
if($_POST['client_arr']){
$arr1 = $_POST['client_arr']
}

Далее обрабатываю эти два массива
function getPoint($array1, $array2)
{
    $sum = 0;
    for ($i = 0; $i < count($array2); $i++) {
        if ($array2[$i] == 1) {
            $sum = $sum + $array1[$i];
        }
    }
    return $sum;
}

Потом делают ответ на клиент:
echo getPoint($arr1,$arr2);

Но почему-то цикл в функции выполняется один раз. Объясните, почему? Или я что-то неправильно делаю.
  • Вопрос задан
  • 2477 просмотров
Подписаться 4 Оценить 5 комментариев
Пригласить эксперта
Ответы на вопрос 2
IgorO2
@IgorO2
73
Ну я даже не знаю, перед вызовом ф-ии сделайте
var_dump($arr1)
var_dump($arr2)

а после этого вручную посчитайте мб поможет
Ответ написан
Комментировать
Никогда не считайте count(Array) в цикле.

function getPoint(Array $array1, Array $array2){
    $sum = 0;
    foreach($array2 as $id => $item)
        if($item == 1) $sum += $array1[$id];
    RETURN $sum;
}

должно работать....
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы