Как заменить ключ ассоциативного массива на пользовательский ключ ..?

Мне нужно дать вывод с ‘floorno’ и ‘units’ в качестве ключа. Но после выполнения операции array_splice ключи ‘floorno’ и ‘units’ заменяются целочисленными значениями.

Как заменить целочисленный ключ текстом floorno и unit.

Ниже мой код

          $floor = "Ground";
$query = "SELECT id,property_no,status FROM property_details WHERE wing ='$A' AND floor ='$floor'";
$execute = $db->query($query);
$ground = $execute->fetchAll(PDO::FETCH_ASSOC);
$block_A = array("floorno"=>$floor,"units"=>$ground);

$floor = "First";
$query = "SELECT id,property_no,status FROM property_details WHERE wing ='$A' AND floor ='$floor'";
$execute = $db->query($query);
$ground = $execute->fetchAll(PDO::FETCH_ASSOC);
$first = array("floorno"=>$floor,"units"=>$ground);
array_splice($block_A,2,0,$first);

Ниже мой массив o / p:

   {
"0": "Second",
"1": [
{
"id": "396",
"property_no": "SSC.A.02.01",
"status": "0"},
{
"id": "397",
"property_no": "SSC.A.02.02",
"status": "0"}
],
"2": "First",
"3": [
{
"id": "388",
"property_no": "SSC.A.01.01",
"status": "0"},
{
"id": "389",
"property_no": "SSC.A.01.02",
"status": "0"}
],
"floorno": "Ground",
"units": [
{
"id": "379",
"property_no": "SSC.A.00.01",
"status": "0"},
{
"id": "381",
"property_no": "SSC.A.00.02",
"status": "0"}
]
}

1

Решение

Вспомогательная функция для соединения с асс

    function array_splice_assoc(&$input, $offset, $length, $replacement)
{
$replacement = (array)$replacement;
$key_indices = array_flip(array_keys($input));
if (isset($input[$offset]) && is_string($offset)) {
$offset = $key_indices[$offset];
}

if (isset($input[$length]) && is_string($length)) {
$length = $key_indices[$length] - $offset;
}

$input = array_slice($input, 0, $offset, TRUE)
+ $replacement
+ array_slice($input, $offset + $length, NULL, TRUE);
}
0

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

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector