Я пытаюсь пройти через многомерный массив, у меня есть массив ключей, который я хочу найти в многомерном массиве, и после того, как я его нашел, объявите его значение указанному ключу , Например, у меня есть ключ Keyword
и у меня есть массивРекурсивно пройти через многомерный массив с различными уровнями глубины
Array (
[root] => Array (
[row] => Array (
[0] => Array (
[Status] => Enabled
[Keyword] => Toaletna voda
[Campaign] => Lešenari
[Adgroup] => Lešenaris
[BidStrategyType] => InheritFromParent
[Bid] => 0.05
[Matchtype] => Broad
[Clicks] => 0
[Impr.] => 0
[Conv.] => 0
)
)
)
)
Ну, я пытался сделать это рекурсивно, foreach($array as $key => $value)
если $ значение является массивом, то я должен идти другой уровень внутри. Мне удалось получить значения, назначенные клавишам, которые мне нужны, но вместо 12 элементов я получил 100 из них.
Массив имен cloumn
$bing = array(
"Adgroup",
"Campaign",
"Keyword",
"Clicks",
"Impr.",
"Conv.",
"Bid",
"Adgroup"
);
функции Работа для формата CSV
public function LoadCsvReport($adSystemColumnsColumns = array())
{
require "config.php";
$key = array();
$flag = false;
$csvfile = fopen(dirname(__FILE__) . "/result.csv", "r");
while ($file = fgetcsv($csvfile)) {
if (!$flag) {
/*Loop through config array which contains names of columns of our interest
If row from file contains name from config, then that name will have assigned
index of that column
*/
foreach ($bing as $name)
if ($value = array_search($name, $file)) {
$key[$name] = $value;
$flag = true;
}
//After column indexes are assigned to names skip current row
if ($flag)
continue;
}
if ($flag) {
foreach ($key as $columnName => $index) {
/*Get columnname and index, items from $file[$index] are assign to
corresponding array with columnName as index
*/
if ($file[$index] === "-")
break;
$this->report[$columnName][] = $file[$index];
//$key[$index] = array($item => $file[$item]);
}
}
}
fclose($csvfile);
return $this->report;
}
Основываясь на моем понимании, дали кодовое имя «Ключевое слово», Вы хотите, чтобы пройти через многомерный массив и найти имя ключа «Ключевое слово» и получить эту ценность? –
Да, в основном у меня есть массив имен столбцов, и я хочу o просматривать отчет, который сохраняется как массив и получать значения, принадлежащие этим именам столбцов. – rtom
Можете ли вы дать нам также массив имен столбцов? –