Задать вопрос

Как преобразовать массив POST в строки?

Доброго времени суток, уважаемые!
Имеется массив $_POST вида:
Array
(
    [id] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )

    [name] => Array
        (
            [0] => Ноубук
            [1] => Телефон
            [2] => Планшет
        )

    [cena_no_dost] => Array
        (
            [0] => 10030
            [1] => 33000
            [2] => 55444
        )
)

Как, блин, этот массив привести к такому виду?
(id, name, cena_no_dost)
(1, 'Ноутбук', 10030),
(2, 'Телефон', 33000),
(3, 'Планшет', 55444)

Помогите чайнику, плиз!
С этой строкой (id,name,cena_no_dost) понятно. Через foreach вытащить ключи не проблема:
foreach($_POST as $key => $rows) {
	 $arKey[] = $key;
}

Но как данные пересобрать в строки?
  • Вопрос задан
  • 305 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 2
@generate
...
foreach ($_POST['id'] as $key => $value) {
	$id = $value;
	$name = $_POST['name'][$key];
	$price = $_POST['cena_no_dost'][$key];

	$text .= "({$id}, '{$name}', {$price}),\r\n";
}
Ответ написан
Комментировать
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
$result = [];
foreach ($arr as $key => $vals) {
    foreach ($vals as $idx => $val) {
    	$result[$idx][$key] = $val
    }
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
ipatiev
@ipatiev Куратор тега PHP
Потомок старинного рода Ипатьевых-Колотитьевых
<tr>
  <td><input type="text" name="name[$mas['id']]" value="'.htmlspecialchars($mas['name']).'"></td>
  <td><input type="text" name="cena_no_dost[$mas['id']]" value="'.htmlspecialchars($mas['cena_no_dost']).'"></td>
  </tr>

И ничего потом не "пересобирать"

И запомните уже наконец, что любые данные, которые выводятся в html, должны всегда экранироваться через htmlspecialchars. Иначе потом будет очень больно и непонятно
Ответ написан
@Ntvysq Автор вопроса
Огромное спасибо, уважаемые!
Подскажите, а можно оба ответа "решением" отметить?
У вас, generate, прямо вот то что нужно (бери и используй), вот прямо по месту! А у уважаемого Rsa97 замечательно универсальная штука, которую (предварительно изнахратив корявыми ручонками) можно много куда применить.
Ответ написан
Ваш ответ на вопрос

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

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