Здравствуйте, помогите реализовать такую обработку. есть переменная в которую заносятся информация через цикл, в строку. и есть ассоциативные массивы, которые хранят информацию как "ключ=>значение". как сделать такую проверку, если "слово" которое лежит в переменной совпадёт с "ключём" одного из массивов, то выведется значение массива с которым совпало слово. думаю лучше преобразовать "переменную" в массив для удобства.
PHP: <?php $arr = ['key1'=>'val1','key2'=>'val2','key3'=>'val3']; $val = 'key3'; if(array_key_exists($val,$arr)){ echo $arr[$val]; } else { echo 'Такого ключа не существует'; }
PHP: echo ( ['key1'=>'val1','key2'=>'val2','key3'=>'val3'][$value] ?? 'Такого ключа не существует' );
а если в переменной будет несколько строк, совпадающих? --- Добавлено --- а если в переменной будет несколько строк, совпадающих?
$arr = ['key1'=>'val1','key2'=>'val2','key3'=>'val3']; $val = 'key3key1'; if(array_key_exists($val,$arr)){ echo $arr[$val]; } else { echo 'Такого ключа не существует'; } --- Добавлено --- если в переменной не одно значение которое будет совпадать, то как быть?
определиться что тебе нужно и для чего тебе несколько значений. Один ход делая, думай про второй или сдохнешь в паутине.
Работаю я с cURL, вывожу таблицу данных по API, чтобы вывести полностью нормальную таблицу надо сделать два запроса, "в первом запросе я получаю половину таблицы, во второй - вторую". далее я должен занести её в бд и вывести на странице. Я хочу сделать чтобы программа заносила в бд данные в одну таблицу из двух http запросов. $arr = ['key1'=>'val1','key2'=>'val2','key3'=>'val3'] $val = 'key3key1'; в $arr у меня находиться имя и значение из получаемой таблицы (вторая половина) в $val у меня находятся имена следовательно в обоих массивах одинаковые имена, и если бы имена совпадали я создал новый массив с упорядоченным порядком имён как у первой части таблицы, и со значениями второй части таблицы.
Возможно Вам подойдет такой вариант: PHP: $arr1 = ...; $arr2 = ...; //два исходных массива $str = ...; // исходная строка $arr = array_merge($arr1, $arr2); // Объединение исходных массивов в один $new_str = strtr($str, $arr); //заменяются все комбинации символов, соответствующие ключам массива на значения под этими ключами Если я правильно понял про "вторую", "первую" и хз какую половину.
а результат первого запроса куда съедаешь при втором запросе? фантастику представил. в сторону session придется смотреть
Вся проблема в неправильном подходе/логике может быть. Что мешает вывести нормально таблицу 1 запросом ? Какие то ошибки возникают? время жизни скрипта не хватает итд ?