Используя этот PHP код:PHP - Перестановка многомерный массив значение стать ключом
function parseCSV($csvfile) {
$csv = array();
$rowcount = 0;
if (($handle = fopen($csvfile, "r")) !== FALSE) {
$max_line_length = defined('MAX_LINE_LENGTH') ? MAX_LINE_LENGTH : 10000;
$header = fgetcsv($handle, $max_line_length);
$header_colcount = count($header);
while (($row = fgetcsv($handle, $max_line_length)) !== FALSE) {
$row_colcount = count($row);
if ($row_colcount == $header_colcount) {
$entry = array_combine($header, $row);
$csv[] = $entry;
}
else {
error_log("csvreader: Invalid number of columns at line " . ($rowcount + 2) . " (row " . ($rowcount + 1) . "). Expected=$header_colcount Got=$row_colcount");
return null;
}
$rowcount++;
}
fclose($handle);
}
else {
error_log("csvreader: Could not read CSV \"$csvfile\"");
return null;
}
return $csv;
}
для синтаксического анализа CSV и получить эти значения, что действительно хорошо:
array(2) {
[0]=>
array(6) {
["keyword"]=>
string(7) "TEST"
["tag1"]=>
string(5) "TEST1"
["tag2"]=>
string(5) "TEST2"
["tag3"]=>
string(5) "TEST3"
["tag4"]=>
string(5) "TEST4"
["tag5"]=>
string(5) "TEST5"
}
[1]=>
array(6) {
["keyword"]=>
string(9) "BadCredit"
["tag1"]=>
string(7) "Credit1"
["tag2"]=>
string(7) "Credit2"
["tag3"]=>
string(7) "Credit3"
["tag4"]=>
string(7) "Credit4"
["tag5"]=>
string(7) "Credit5"
}
}
Теперь мне нужно в секунду часть моего кода, чтобы изменить порядок, что значение loook так:
array(2) {
["TEST"]=>
array(5) {
["tag1"]=>
string(5) "TEST1"
["tag2"]=>
string(5) "TEST2"
["tag3"]=>
string(5) "TEST3"
["tag4"]=>
string(5) "TEST4"
["tag5"]=>
string(5) "TEST5"
}
["BadCredit"]=>
array(5) {
["tag1"]=>
string(7) "Credit1"
["tag2"]=>
string(7) "Credit2"
["tag3"]=>
string(7) "Credit3"
["tag4"]=>
string(7) "Credit4"
["tag5"]=>
string(7) "Credit5"
}
}
Мне нужно получить «ключевое слово» значение и место, как ключ для массив для пены может создавать объекты для другой части кода. Как это сделать?
Хорошая точка. Это почти правильное решение, но это плохо. Вот где я складываюсь, я получаю подобное решение, но смотрю выше в своем вопросе, как нужно искать. Мне нужно, чтобы ключевые слова стали ключами. –
ОК, я должен быть более осторожным :) Просто используйте 'array_reduce' вместо' array_map' –
Спасибо, человек, вот и все. Я был потерян! –