Работа с данными и проверка данных массива

85
07 января 2021, 10:10

У меня есть массив данных который приходит с POST, а имеено

array(4) {
["startLatitude"]=>
 string(17) "50.50501149999999"
["startLongitude"]=>
 string(9) "30.485721"
["endLatitude"]=>
 string(10) "50.4404947"
["endLongitude"]=>
 string(10) "30.4896335"
}

также есть массив данных

$arrayCoordinates = ['startLatitude','startLongitude','endLatitude','endLongitude'];

мне нужно сделать проверку, что если нету одной данной из POST данных, то выдавать ошибку.

К примеру если нету startLatitude, то сообщить ошибку что "извините , вы не прислали startLatitude" данную у меня есть код

 foreach ($postCoordinates as $key => $data ){
        foreach($arrayCoordinates as $coordinates){
            if(!empty($key) AND $key == $coordinates){
              $coordinatesArray[] = [
                  $key => $data
              ];
            }
        }
    }

но как правильно вывести ошибку? потому что в else попадает 3 остальных данных ,которые не равняются $key

Answer 1
    <?php
    $arr1=array("startLatitude"=>"50.4959272","startLongitude"=>"30.4867358","endLatitude"=>"50.4027689","endLongitude"=>"30.5582076");
$arrayCoordinates = array('startLongitude','endLatitude','endLongitude');
// убираем в массиве $arrayCoordinates или в $arr1  строку с ключом //startLongitude и сравниваем
$arr2=array_flip($arrayCoordinates);
$arr3=array_diff_key($arr1,$arr2);
$result=array_diff_key($arr1, $arr3);
//print_r($arr2);
echo 'не хватает  '.key($result);
    ?>
READ ALSO
Способы оптимизации sql-запроса

Способы оптимизации sql-запроса

Один запрос выборки статистики занимает достаточно много времени, да и сам запрос достаточно сложныйМного внутренних запросов и подсчеты...

118
Очищает ли JVM стек вызовов после StackOverflowError?

Очищает ли JVM стек вызовов после StackOverflowError?

Пусть N это N-ое число Фибоначчи, при вычислении которого возникает переполнение стека вызовов, а K это K-ое число Фибоначчи, которое будет вычислено...

96
Шифрование строк для защиты Android приложений

Шифрование строк для защиты Android приложений

я уже готовлюсь выложить приложение в Google Play и теперь мне надо защитить свое приложение от взлома и дрЯ уже настроил Proguard, обфускация работает

95
Не работает сохранение байтов в файл

Не работает сохранение байтов в файл

Пытаюсь сохранить байты в файл

103