По существу у меня есть массив:Создать строковую переменную, чтобы держать первое слово каждого элемента массива
$names = array("firstName1 lastName1", "firstName2 lastName2", "firstName3 lastName3");
Я хочу создать строковую переменную для хранения FIRSTNAME1, FIRSTNAME2 и firstName3. В идеале строка должна выглядеть следующим образом:
$firstNames = "firstName1, firstName2 & firstName3";
Так что я могу создать сценарий, который выглядит как:
echo 'Thank you for your booking for'.$firstNames.' Your booking is now complete.'
Я пытался смотреть на конкатенации с помощью взрывается с «для» петли, но Бесполезный Это не так. Массив не является фиксированной длиной, поэтому мне нужен последний элемент, который нужно добавить с помощью «&».
Спасибо за любую помощь.
EDIT:
Используя версию 5.5.12, у меня есть вход:
$names = array("firstName1 lastName1", "firstName2 lastName2", "firstName3 lastName3");
$firstNames = '';
$finalFirstName = array_pop($names);
foreach ($names as $name)
{
$firstNames = $firstNames . ' ' . reset(explode(' ', $name));
}
$firstNames = ' & ' . explode(' ', $finalFirstName)[0];
echo $firstNames;
И мой вывод:
Strict standards: Only variables should be passed by reference on line 8.
Но я вижу текст:
& firstName3
'$ firstNames = Implode ('', array_column (array_map (функция ($ значение) {возвращение взрываются (»», $ значение);}, $ имена), 0));' вероятно, хороший старт. –
Вы также должны устранить первый «сброс» –
. Так что он читает: '$ firstNames = $ firstNames. ''. explode ('', $ name); '? Это показывает ошибку 'Notice: Array to string conversion on line 8' – dantan04