Привет всем Помогите пожалуйста Есть массив PHP: $arr=array(n1=>a,n2=>b,n3=>c); Хочу получить строку такого вида PHP: $str="n1=>a,n2=>b,n3=>c";
Скорее так. Но проще через foreach PHP: $res = implode(', ', array_map( function ($v, $k) { return $k.'=>'.$v; }, $arr, array_keys($arr) ));
PHP: <?php $arr = ['n1' => 'a', 'n2' => 'b', 'n3' => 'c']; print_r($arr); foreach($arr as $k => $v) { echo $k . '=>' . $v . ','; }
@Dimon2x так придется ласт итем просчитывать что бы не ставить последнюю запятую или rtrim($str, ','); Ну или как вариант PHP: array_walk( $arr, function (&$v, $k) { $v = $k.'=>'.$v;} ); echo implode(', ', $arr);
@Fell-x27 Ну или он просто пытается массив в бд или в файл записать и нужен json_encode или serialize
PHP: function array_to_string($el){ foreach ($el as $key => $value) { if(is_array($value)){ $res[] = $key."=>(".array_to_string($value).")"; continue; } $res[]=$key."=>".$value; } return implode(", ",$res); }
По хорошему нужно создать таблицу с нужными ячейками. По плохому json_encode / json_decode по очень плохому изобретать свой велосипед. Ну или плохо объяснил.
Проблема в запросе insert into , никогда не знаем сколько столбцов будет , PHP: INSERT INTO TABLE_NAME [(column1, column2, column3,...columnN)] VALUES (value1, value2, value3,...valueN); и по моему переменные PHP: $var1 = column1, column2, column3,...columnN; $var2 = value1, value2, value3,...valueN; должны быть строками и проблем не будет , я так думаю