Построение динамического многомерного массива в PHP [дубликат]Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Построение динамического многомерного массива в PHP [дубликат]

Сообщение Anonymous »

Я пытаюсь динамически построить многомерный массив в PHP. У меня есть структура с категориями, подкатегориями, подкатегориями и так далее. Я сохраняю в MariaDB для каждой записи строку, которая дает мне путь к этим подподкатегориям, и сохраняю массив в другой таблице, сериализующей этот массив.
Я построил push в массиве команду динамически, но она не выполняет ее как команду.
Я хочу динамически создать команду $arr[key1][key2][key3] и т. д. и вставить значение (это не независимо от значения, меня тоже интересует только ключ) в этот массив
Спасибо
$sel_arr="SELECT * FROM arr_categ WHERE is_activ=1";
$res_arr=mysqli_query($conn,$sel_arr);
$rez_arr=mysqli_fetch_object($res_arr);
$id_arr=$rez_arr->id;
if($rez_arr->nume=='xxx'){
$arr=array();
} else {
$arr=unserialize($rez_arr->nume);
}

if(isset($_POST["save_c"])){
$id_categ=mysqli_real_escape_string($conn, $_POST["id_categ"]);
$nume_c=mysqli_real_escape_string($conn,$_POST["nume_c"]);
if($id_categ==0){
$ins="INSERT INTO categ (nume, id_ordine, id_parinte, string) VALUES ('$nume_c', '1', '0', '0')";
mysqli_query($conn,$ins);
$id_c=mysqli_insert_id($conn);
$arr[$id_c]=array();
print_r($arr);
$arr_ser=serialize($arr);
$upd_arr="UPDATE arr_categ SET nume='$arr_ser' WHERE id='$id_arr'";
mysqli_query($conn,$upd_arr);

} else {
$sel_cat="SELECT * FROM categ WHERE id='$id_categ'";
$res_cat=mysqli_query($conn,$sel_cat);
$nr_cat=mysqli_num_rows($res_cat);
if($nr_cat==1){
$rez_cat=mysqli_fetch_object($res_cat);
$id_ordine=$rez_cat->id_ordine+1;
$id_parinte=$rez_cat->id_parinte+1;
if($rez_cat->string==0){
$string=$id_categ;
} else {
$string=$rez_cat->string.','.$rez_cat->id;
}
$ins_cat="INSERT INTO categ (nume, id_ordine, id_parinte, string) VALUES ('$nume_c', '$id_ordine', '$id_parinte', '$string')";
mysqli_query($conn,$ins_cat);
$id_cat=mysqli_insert_id($conn);
$arr_string=explode(",",$string);
$c=count($arr_string);
foreach($arr_string as $item){
$str.='['.$item.']';
}
$new_str='arr'.$str.'['.$id_cat.']';
"$".$new_str=50;
//$arr_ser=serialize($arr);
//$upd_arr="UPDATE arr_categ SET nume='$arr_ser' WHERE id='$id_arr'";
//echo $upd_arr.'
';
//mysqli_query($conn,$upd_arr);
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/773 ... ray-in-php
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»