多维数组php选择2个数据
我将codeigniter用于Web应用程序,我可以将数据库中的数据放入数组中 我有这个多维数组多维数组php选择2个数据,php,arrays,codeigniter,multidimensional-array,Php,Arrays,Codeigniter,Multidimensional Array,我将codeigniter用于Web应用程序,我可以将数据库中的数据放入数组中 我有这个多维数组 Array ( [0] => Array ( [0] => Comerciales [1] => Array ( [0] => Terreno [1] => Galera
Array
(
[0] => Array
(
[0] => Comerciales
[1] => Array
(
[0] => Terreno
[1] => Galera
[2] => Oficinas
[3] => Locales
[4] => Playas e Islas
[5] => Edificios
[6] => Hoteles
[7] => Propiedades de Inversión / Desarrollo
)
)
[1] => Array
(
[0] => Residenciales
[1] => Array
(
[0] => Array
(
[0] => Ciudad
[1] => Array
(
[0] => Terreno
[1] => Casa
[2] => Apartamento
)
)
[1] => Array
(
[0] => Montaña
[1] => Array
(
[0] => Terreno
[1] => Casa
[2] => Apartamento
)
)
)
)
)
我需要传递一个select2数据,但我需要的de数据是类似于thad的,我证明了php中的一个循环,但我不能使它工作。请原谅我的英语
var theData = [{
"id": "CEN",
"level": "C",
"dataid": "EN",
"text": "England",
"children": [{
"id": "RDEF",
"level": "R",
"dataid": "DEF",
"text": "Default Region",
"children": [{
"id": "D100",
"level": "D",
"dataid": "100",
"text": "Depot 100"
}, {
"id": "D125",
"level": "D",
"dataid": "125",
"text": "Depot 125"
}]
}, {
"id": "RNORTH",
"level": "R",
"dataid": "NORTH",
"text": "North Region",
"children": [{
"id": "D999",
"level": "D",
"dataid": "999",
"text": "Depot 999 - Head Office"
}]
}, {
"id": "RWEST",
"level": "R",
"dataid": "WEST",
"text": "West Region",
"children": [{
"id": "D555",
"level": "D",
"dataid": "555",
"text": "Depot 555"
}]
}]
}, {
"id": "CNL",
"level": "C",
"dataid": "NL",
"text": "Netherlands",
"children": [{
"id": "RNORTH",
"level": "R",
"dataid": "NORTH",
"text": "North Region",
"children": [{
"id": "DNL",
"level": "D",
"dataid": "NL",
"text": "Dutch Depot"
}
]
}]
}]
这就是你所做的,我希望这对你有帮助,如果有人能做得更好,请做吧
[<?php foreach ($categorias as $categoria){
foreach ($categoria as $key=>$parent) {
if ($key==0) {
?>{
"id": "<?php echo $parent['categoriaid']; ?>",
"level": "<?php echo $parent['parentid']; ?>",
"dataid": "<?php echo $key; ?>",
"text": "<?php echo $parent['nombre']; ?>"
<?php }else {?>
,"children": [<?php
//necesario para colocar algo al final de cada registro y algo diferente en el ultimo
$gdjci = array_keys($parent);
$last_row = end($gdjci);
foreach ($parent as $key=>$children) {
if (array_key_exists('nombre', $children)) {?>
{
"id": "<?php echo $children['categoriaid']; ?>",
"level": "<?php echo $children['parentid']; ?>",
"dataid": "<?php echo $key; ?>",
"text": "<?php echo $children['nombre']; ?>"}
<?php
if ($key == $last_row) {
// last element
echo "]},";
} else {
// not last element
echo ",";
}
} else {
//necesario para colocar algo al final de cada registro y algo diferente en el ultimo
$gdjci = array_keys($children);
$last_row = end($gdjci);
foreach ($children as $key=>$parent) {
if ($key==0) {
?>{
"id": "<?php echo $parent['categoriaid']; ?>",
"level": "<?php echo $parent['parentid']; ?>",
"dataid": "<?php echo $key; ?>",
"text": "<?php echo $parent['nombre']; ?>"
<?php
if ($key == $last_row) {
// last element
echo "]";
} else {
// not last element
echo ",";
}
}else {
?>
"children": [
<?php
//necesario para colocar algo al final de cada registro y algo diferente en el ultimo
$gdjci = array_keys($parent);
$last_row = end($gdjci);
foreach ($parent as $key=>$children) {
if (array_key_exists('nombre', $children)) {
?>{
"id": "<?php echo $children['categoriaid']; ?>",
"level": "<?php echo $children['parentid']; ?>",
"dataid": "<?php echo $key; ?>",
"text": "<?php echo $children['nombre']; ?>"}
<?php
if ($key == $last_row) {
// last element
echo "]},";
} else {
// not last element
echo ",";
}
} else {
}
}
}
}
}
}
}
}
}
echo ']';
echo '}]';
[{
“id”:“,
“级别”:“,
“数据ID”:“,
“文本”:”
“儿童”:[
{
“id”:“,
“级别”:“,
“数据ID”:“,
“文本”:“}
{
“id”:“,
“级别”:“,
“数据ID”:“,
“文本”:”
“儿童”:[
{
“id”:“,
“级别”:“,
“数据ID”:“,
“文本”:“}
您尝试了什么代码?var tempArray=;警报(tempArray[0].Key);运行此程序时是否有错误?如果有,您得到的yo错误是什么?如果您可以将其粘贴到此处,这将非常有帮助。这不仅仅是错误,不是我需要的,我需要将第一个数组转换为第二个数组或更近的数组。如果您想这样做,两个数组之间应该存在某种关系,我不是我看不见,所以如果你能解释一下,我们可以找个地方