Мне нужно дать вывод с ‘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"}
]
}
Вспомогательная функция для соединения с асс
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);
}
Других решений пока нет …