Я передаю массивы в $ _Post, и на следующей странице я хотел бы назначить значения каждого индекса массива _Post, чтобы затем я мог вставить их в таблицу в своей базе данных.
Вот что у меня получается, когда я печатаю $ _Post
Array
(
[id_client] => Array
(
[0] => 1
[1] => 1
[2] => 1
)
[id_participant] => Array
(
[0] => 44
[1] => 48
[2] => 50
)
[session] => Array
(
[0] => 1
[1] => 2
[2] => 3
)
)
Поэтому я хотел бы иметь возможность назначать их переменным в каждом цикле:
$client = id_client[0]
$participant = id_participant[0]
$session = session[0]
Так что я мог бы вставить их в свою базу данных и перейти к индексам 1, 2, 3 ...
2 ответа
Предполагая, что у вас есть соответствующие наборы данных в каждом из дочерних массивов, просто выполните итерацию одного из них и используйте ключ для доступа к другим.
foreach ($_POST['id_client'] as $key => $client) {
$participant = $_POST['id_participant'][$key];
$session = $_POST['id_session'][$key];
}
Что произойдет, если один из массивов окажется длиннее? Это то, что я спросил себя, другой ответ вполне приемлем, если они всегда будут одной длины. Но я подумал, что придумаю тот, который объясняет это.
К тому же это дало мне повод использовать переменную переменную $$
и объединение ??
null ...
Если возможно, что они могут быть разной длины, вы можете сделать что-то вроде этого:
$array = [
'id_client' => [1,1,1],
'id_participant' => [44,48,50],
'session' =>[1,2,3,4] //< added a fourth item
];
//count the number of nested items
$a = array_map(function($item){
return count($item);
}, $array);
//get the max number of nested items
$max = max($a);
//iterate up to the $max number of times
for($i=0; $i<$max; $i++){
foreach($array as $key => $value){
$$key = $value[$i] ?? false; //$$ is a variable variable, ?? is PHP7+ only
}
//these exist because of $$key, its magic
echo $id_client ."\n";
echo $id_participant ."\n";
echo $session ."\n";
echo "-----------------\n";
}
Выходы:
1
44
1
-----------------
1
48
2
-----------------
1
50
3
-----------------
false
false
4
-----------------
Вы можете попробовать его здесь
Похожие вопросы
Новые вопросы
php
PHP - это широко используемый высокоуровневый, динамический, объектно-ориентированный и интерпретируемый язык сценариев, в первую очередь предназначенный для серверной веб-разработки. Используется для вопросов о языке PHP.