PHP объединяет значения в массив

Я новичок в php и хотел бы знать, как сделать следующее возможным …

Ниже у меня есть несколько массивов, заполненных из строк базы данных. Я хотел бы иметь новый массив mappingId который объединяет несколько строк, чтобы сформировать значение для mappingId массив. Ниже я использовал array_combine, но это не похоже на работу. Может кто-нибудь посоветовать, что использовать?

$appId = array();
$appDate = array();
$appTime = array();
$appDoctorId = array();
$mappingId = array(); // combined values

for ($i = 0; $i < mysqli_num_rows($resultAppointmentsBooked); $i++)
{
$row = mysqli_fetch_row($resultAppointmentsBooked);
$appId = $row[0];
$ids[] = $row[0];
$appTime[] = $row[3];
$appDate[] = $row[4];
$appDoctorId[] = $row[2];
$mappingId = array_combine($row[4], $row[3], $row[2]);

//Test output
echo "MappingId: $row[4]$row[3]$row[2] <br />";
echo "MappingId2: - $mappingId[$i] <br />";
}

Я также использовал ‘array_merge’ следующим образом …

                $ids[] = $row[0];
$appTime[] = $row[3];
$appDate[] = $row[4];
$appDoctorId[] = $row[2];

$mappingId = array_merge($appDate, $appTime, $appDoctorId);

но когда я печатаю значения …

             echo "MappingId2: $mappingId[$i] <br />";

Выводится только значение первого массива.

1

Решение

Попробуйте что-то вроде этого. Если это то, что вам нужно. Здесь в кодах ниже
$mappingId содержит массив отдельных appDate, appTime, appDoctorId в формате массива. Если вы не хотите массив, просто хотите объединить эти значения с одним элементом, то вы также можете сделать это. Пожалуйста, дайте мне знать!

$mappingId = array(); // combined values

for ($i = 0; $i < mysqli_num_rows($resultAppointmentsBooked); $i++)
{
$row = mysqli_fetch_row($resultAppointmentsBooked);
$appId = $row[0];
$appTime = $row[3];
$appDate = $row[4];
$appDoctorId = $row[2];
$myArr = array();
//array_push($myArr, $appDate, $appTime, $appDoctorId);
// If you want in concatenate format
array_push($myArr, $appDate."".$appTime."".$appDoctorId);
array_push($mappingId, $myArr);
}
1

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

Вы можете добавить значения в массив, выполнив это:

 $mappingId[] = 'Hello';
$mappingId[] = 'There';
$mappingId[] = 'Friend';

Результаты в:

 $mappingId = array('Hello', 'There', 'Friend');

Вы также можете использовать array_merge,

Это объединяет элементы одного или нескольких массивов вместе, так что значения одного добавляются в конец предыдущего. Возвращает результирующий массив.

1

Я думаю, что вы ищете array_merge

array_merge(array(1), array(2,3)); //return array(1,2,3)
0

попробуйте что-то вроде этого, array_merge должен работать:

$ids = $row[0];
$appTime = $row[3];
$appDate = $row[4];
$appDoctorId = $row[2];
$mappingId = array_merge($ids, $appTime, $appDate, $appDoctorId);

echo "MappingId: $row[4]$row[3]$row[2] <br />";
echo "MappingId2: - $mappingId <br />";
0
По вопросам рекламы [email protected]