Я новичок в 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 />";
Выводится только значение первого массива.
Попробуйте что-то вроде этого. Если это то, что вам нужно. Здесь в кодах ниже
$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);
}
Вы можете добавить значения в массив, выполнив это:
$mappingId[] = 'Hello';
$mappingId[] = 'There';
$mappingId[] = 'Friend';
Результаты в:
$mappingId = array('Hello', 'There', 'Friend');
—
Вы также можете использовать array_merge
,
Это объединяет элементы одного или нескольких массивов вместе, так что значения одного добавляются в конец предыдущего. Возвращает результирующий массив.
Я думаю, что вы ищете array_merge
array_merge(array(1), array(2,3)); //return array(1,2,3)
попробуйте что-то вроде этого, 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 />";