Итак, я пишу простую функцию экспорта csv в php, но у меня есть небольшая проблема, когда дело доходит до заголовков и массива значений.новый массив с только значениями в php
У меня есть предустановленный массив из столбцов, который пользователь может экспортировать, то есть $exportHeaders
. Итак, что я пытаюсь сделать, вместо ввода каждого значения для $row['value for column']
Я хочу создать способ сделать новый массив для вставки вместо $row
. Однако, когда я делаю новый массив, который $newExportHeader[]
в моем случае, я в конечном итоге с массивом, который выглядит следующим образом (с ключом и значением):
$newExportHeader = array(
0 => $row['first_name'],
1 => $row['last_name'],
2 => $row['email'],
);
Но я нужен массив, который не имеет связанный с ним. Так что мой вопрос: есть ли способ, чтобы сделать массив на лету без ключей в нем, только значения
protected $exportHeaders = array(
"first_name", "last_name", "email", "street", "city", "province", "postal_code", "phone_1",
"phone_2", "created_at", "updated_at"
);
Это в настоящее время работает:
foreach ($this->user->clients()->get() as $row) {
fputcsv($handle, array(row['first_name'], row['last_name'], row['email']));
}
Один из вариантов, что я был играя с - не работает:
foreach ($this->user->clients()->get() as $row) {
foreach ($this->exportHeaders as $header) {
$newExportHeader[] = $row[$header]; <-Problem Area
}
fputcsv($handle, array_values($newExportHeader));
}
Любая помощь приветствуется.
Массив без ключей, Doh !! Что это? Я думаю, вы могли бы назвать это строкой с разделителями-запятыми – RiggsFolly
PHP не разрешает массивы без ключей. Если вы создадите массив «без ключей», как этот '$ foo = array (« один »,« два »,« три »);', PHP автоматически индексирует его так, что '$ foo [0] ===" один "'. Таким образом, массив «без ключей» совпадает с индексированным массивом, начинающимся с 0. – mkasberg