Как убрать ненужную информацию и реструктурировать этот ассоциативный массив в php?

У меня есть этот ассоциативный массив PHP, который я создал из запроса MySQL. Похоже на это;

        array(
(int) 0 => array(
'items' => array(
'index_no' => '1'
),
(int) 0 => array(
'NumItems' => '2'
)
),
(int) 1 => array(
'items' => array(
'index_no' => '2'
),
(int) 0 => array(
'NumItems' => '3'
)
)

Это выглядит излишне сложно. Я хотел бы упростить это, чтобы выглядеть примерно так;

        array(
(int) 0 => array(
'index_no' => '1',
'NumItems' => '2'
)
),
(int) 1 => array(
'index_no' => '2',
'NumItems' => '3'
)
)

Как это можно сделать в php? Я застрял на этой проблеме в течение некоторого времени. Я опубликую свой ответ, если он у меня будет. Я был бы признателен, если бы кто-то мог дать мне некоторую отправную точку. Большое спасибо.

0

Решение

Вы можете попробовать это:

$tempArray = array(
(int) 0 => array(
'items' => array(
'index_no' => '1'
),
(int) 0 => array(
'NumItems' => '2'
)
),
(int) 1 => array(
'items' => array(
'index_no' => '2'
),
(int) 0 => array(
'NumItems' => '3'
)
));

$newArray = array();
$i=0;
foreach($tempArray as $temp) {
$newArray[$i]['index_no'] = $temp['items']['index_no'];
$newArray[$i]['NumItems'] = $temp[0]['NumItems'];
$i++;
}
print "<pre>";
print_r($newArray);
3

Другие решения

попробуй это

<?php $res=array(array('item'=>1,'number'=>5),array('item'=>2,'number'=>56));
$final_array =array();
$i=0;
foreach ($res as $val)
{
foreach($val as $key=>$val2)
{
$final_array[$i][$key] = $val2;

}$i++;
}

print_r($final_array);
?>
2

Вот решение для вас.

$diffArray = array(
(int) 0 => array(
'items' => array(
'index_no' => '1'
),
(int) 0 => array(
'NumItems' => '2'
)
),
(int) 1 => array(
'items' => array(
'index_no' => '2'
),
(int) 0 => array(
'NumItems' => '3'
)
));

print_r($diffArray);

$getArray = array();
foreach ($diffArray as $simArray) {

$getArray['index_no'][] = $simArray['items']['index_no'];
$getArray['NumItems'][]= $simArray[0]['NumItems'];
}
print_r($getArray);
2

$newArray = array();
foreach ($array as $items) {
$temp = array('index_no' => $items['index_no']);
$temp = array_merge($temp, $items[0]);
$newArray[] = $temp;
}

он добавит все ключи в массив под index - 0

1
По вопросам рекламы [email protected]