Я преобразования мои многомерные пост переменные для динамических переменных, как показано ниже:Как добавить или отображения динамических переменных массива
foreach($_POST as $k => $v){
${$k} = $v;
}
Так что мой новый массив выглядит следующим образом:
Array(
[name] => Joe
[surname] => Blogs
[study] => Array
(
[0] => English
[1] => IT
)
[school] => Array
(
[0] => Array
(
[0] => Some School Name
[1] => 03/09/2015
[2] => Present
)
)
)
Так что, если я хочу получить название школы, этот код будет работать:
echo $school[0][0];
Однако я изо всех сил стараюсь использовать этот var iable в операторе SQL, как показано ниже:
$sql = "INSERT INTO table (name, surname, subject_1, subject_2, school1_name, school1_datefrom, school1_dateto) VALUES ('$name', '$surname', '$subject[0]', '$subject[1]', '$school[0][0]', '$school[0][1]', '$school[0][2]', '$school[0][3]')";
echo $sql;
Все переменные, которые не массив или массив одного уровня, как study
становятся отображаются нормально, но школьные переменные, такие как $school[0][0]
показываете как «Array [0]», «Массив [1] '......... Почему он это делает и есть, я могу заставить эти переменные отображать правильно?
спасибо, что работал. я думаю, для простоты я буду обертывать каждую переменную в фигурной скобке, включая переменные, которые не являются массивом, и просто помню этот синтаксис, как правило, когда я прихожу к добавлению переменных в sql-запрос – Ahm3d