Всем привет, Опишу задачу кратко, в принципе думаю все довольно понятно Я принимаю массив: Код (Text): Array ( [Id] => 3 [Name] => Test [T_EX_ID] => ex_id [T_EX_ID_PH] => {ex_id} [T_EX_ID_N] => EX_ID [T_COST] => cost [T_COST_PH] => {cost} [T_COST_N] => COST [T_CV_1] => [T_PH_1] => [T_CN_1] => [T_CV_2] => color [T_PH_2] => {color} [T_CN_2] => COLOR [T_CV_3] => [T_PH_3] => [T_CN_3] => [T_CV_4] => [T_PH_4] => [T_CN_4] => [T_CV_5] => job [T_PH_5] => {job} [T_CN_5] => JOB [T_CV_6] => car [T_PH_6] => {car} [T_CN_6] => CAR [T_CV_7] => [T_PH_7] => [T_CN_7] => [T_CV_8] => [T_PH_8] => [T_CN_8] => [T_CV_9] => phone [T_PH_9] => {test_phone} [T_CN_9] => PHONE [T_CV_10] => [T_PH_10] => [T_CN_10] => ) Помогите мне пожалуйста Какой оптимальный способ сделать из этого массива вот такую строку (т.е. GET запрос): Код (Text): ?ex_id={ex_id}&cost={cost}&color={color}&job={job}&car={car}&phone={test_phone}
Скажем массив в переменной $arr PHP: $q = "?ex_id={$arr['T_EX_ID_PH']}&cost={$arr['T_COST_PH']}&color={color}&job={job}&car={car}&phone={test_phone}"; Сложный (фигурный) синтаксис https://secure.php.net/manual/ru/language.types.string.php
@denis01, ты наверное неправильно меня понял, мне нужно сформировать запрос в соответствии с данными которые будут в массиве Например, если массив такой: Код (Text): Array ( [Id] => 3 [Name] => Test3 [T_EX_ID] => [T_EX_ID_PH] => [T_EX_ID_N] => [T_COST] => price [T_COST_PH] => {cost} [T_COST_N] => PRICE [T_CV_1] => [T_PH_1] => [T_CN_1] => [T_CV_2] => [T_PH_2] => [T_CN_2] => [T_CV_3] => gender [T_PH_3] => {gender} [T_CN_3] => GENDER [T_CV_4] => name [T_PH_4] => {full_name} [T_CN_4] => NAME [T_CV_5] => [T_PH_5] => [T_CN_5] => [T_CV_6] => [T_PH_6] => [T_CN_6] => [T_CV_7] => home [T_PH_7] => {home} [T_CN_7] => HOME [T_CV_8] => [T_PH_8] => [T_CN_8] => [T_CV_9] => [T_PH_9] => [T_CN_9] => [T_CV_10] => count [T_PH_10] => {count} [T_CN_10] => COUNT ) тогда запрос должен выглядеть так: Код (Text): ?price={cost}&gender={gender}&name={full_name}&home={home}&count={count}
Да я перечитал еще раз, но до сих пор не понимаю, объясните что именно я должен был понять, что могло бы решить мою задачу? Есть еще вопрос, который касается темы, каким образом я мог бы превратить такой массив: Код (Text): Array ( [T_EX_ID] => ex_id [T_EX_ID_PH] => {ex_id} [T_CV_3] => color [T_PH_3] => {color} [T_CV_5] => closes [T_PH_5] => {closes} [T_CV_9] => phone [T_PH_9] => {phone} ) в такой: Код (Text): Array ( [ex_id] => {ex_id} [color] => {color} [closes] => {closes} [phone] => {phone} )
ты вообще пробовал этот код? PHP: $q = "?ex_id={$arr['T_EX_ID_PH']}&cost={$arr['T_COST_PH']}&color={color}&job={job}&car={car}&phone={test_phone}"; echo $q; что он тебе выдаст?
На самом деле это не совсем то, что мне было нужно В любом случае всем спасибо Я разобрался с этим, если у кого-то есть какие-то замечания, предложения или вы видите что в коде можно было бы организовать лучше, не стесняйтесь пишите буду рад любому ответу. Вот рабочий код: PHP: $array = array( 'id' => '3', 'name' => 'Test3', 'T_EX_ID' => 'ex', 'T_EX_ID_PH' => '{ex}', 'T_EX_ID_N' => 'EX', 'T_COST' => '', 'T_COST_PH' => '', 'T_COST_N' => '', 'T_CV_1' => '', 'T_PH_1' => '', 'T_CN_1' => '', 'T_CV_2' => '', 'T_PH_2' => '', 'T_CN_2' => '', 'T_CV_3' => 'color', 'T_PH_3' => '{color}', 'T_CN_3' => 'COLOR', 'T_CV_4' => '', 'T_PH_4' => '', 'T_CN_4' => '', 'T_CV_5' => 'job', 'T_PH_5' => '{job}', 'T_CN_5' => 'JOB', 'T_CV_6' => '', 'T_PH_6' => '', 'T_CN_6' => '', 'T_CV_7' => '', 'T_PH_7' => '', 'T_CN_7' => '', 'T_CV_8' => '', 'T_PH_8' => '', 'T_CN_8' => '', 'T_CV_9' => 'phone', 'T_PH_9' => '{phone}', 'T_CN_9' => 'PHONE', 'T_CV_10' => '', 'T_PH_10' => '', 'T_CN_10' => '', ); $i=0; while(isset($array[ 'T_CV_' . ++$i] , $array[ 'T_PH_' . $i])) { if(empty($array['T_CV_'. $i]) || empty($array['T_PH_'. $i]) || empty($array['T_CN_'. $i])){ unset($array['T_CV_' . $i]); unset($array['T_PH_' . $i]); unset($array['T_CN_' . $i]); } } if(empty($array['T_EX_ID']) || empty($array['T_EX_ID_PH']) || empty($array['T_EX_ID_N'])){ unset($array['T_EX_ID']); unset($array['T_EX_ID_PH']); unset($array['T_EX_ID_N']); } if(empty($array['T_COST']) || empty($array['T_COST_PH']) || empty($array['T_COST_N'])){ unset($array['T_COST']); unset($array['T_COST_PH']); unset($array['T_COST_N']); } // $array = array_filter($array); $new_array = array('T_EX_ID' => '', 'T_EX_ID_PH' => '','T_COST' => '', 'T_COST_PH' => '', 'T_CV_1' => '', 'T_PH_1' => '', 'T_CV_2' => '', 'T_PH_2' => '', 'T_CV_3' => '', 'T_PH_3' => '', 'T_CV_4' => '', 'T_PH_4' => '', 'T_CV_5' => '', 'T_PH_5' => '', 'T_CV_6' => '', 'T_PH_6' => '', 'T_CV_7' => '', 'T_PH_7' => '', 'T_CV_8' => '', 'T_PH_8' => '', 'T_CV_9' => '', 'T_PH_9' => '', 'T_CV_10' => '', 'T_PH_10' => '',); $array = array_intersect_key($array, $new_array); $array = array_chunk($array, 2); $link = ""; if(count($array)){ $link = "?"; foreach ($array as $key => $value) { $link .= $value[0]."=".$value[1]."&"; } $link= substr($link,0,-1); } echo $link;