for ($k = 0; $k < $count; $k++) {
$master[$k] = $namearray[$k], $streetarray[$k], $localityarray[$k], $regionarray[$k], $postalcodearray[$k], $phonearray[$k];
}
Я хотел бы объявить новый массив и установить значения из уже объявленных других массивов. Я думал, что могу просто перебрать ключи и установить значения, но это не работает для меня.
Полный код ниже. Я анализирую результаты поиска желтых страниц и пытаюсь вывести результаты поиска в файл csv. В приведенном ниже коде я удалил цикл и добавил в массив только несколько значений, чтобы убедиться, что моя ошибка не связана с чем-то другим.
<?php
// include required functions
include('simple_html_dom.php');
$url = "http://www.yellowpages.com/". $_POST['city']. '-'. $_POST['state']. '-'. $_POST['postalcode']. '/'. $_POST['category']. '?g='. $_POST['city']. '%2C+'. $_POST['state']. '+'. $_POST['postalcode']. '&q='. $_POST['category'];
// get DOM from URL
$html = file_get_html($url);
// find all business name
foreach($html->find('h3.business-name') as $name)
//echo $name->innertext. '<br />';
$namearray[] = $name->innertext;
// find all business street address
foreach($html->find('span.street-address') as $street)
//echo $street->innertext. '<br />';
$streetarray[] = $street->innertext;
// find all business city
foreach($html->find('span.locality') as $locality)
//echo $locality->innertext. '<br />';
$localityarray[] = $locality->innertext;
// find all business state
foreach($html->find('span.region') as $region)
//echo $region->innertext. '<br />';
$regionarray[] = $region->innertext;
// find all business postal code
foreach($html->find('span.postal-code') as $postalcode)
//echo $postalcode->innertext. '<br />';
$postalcodearray[] = $postalcode->innertext;
// find all business phone
foreach($html->find('span.business-phone') as $phone)
//echo $phone->innertext. '<br />';
$phonearray[] = $phone->innertext;
?>
<p>Search results for: <?php echo $_POST['category']. ' '. $_POST['city']. ' '. $_POST['state']. ' '. $_POST['postalcode']; ?></p>
<?php
// Output results
$count = count($namearray);
for ($i = 0; $i < $count; $i++) {
echo $namearray[$i]. '<br />';
echo $streetarray[$i]. '<br />';
echo $localityarray[$i]. ','. $regionarray[$i]. ' '. $postalcodearray[$i]. '<br />';
echo $phonearray[$i]. '<br />'. '<br />';
}
$list = array (
array($namearray[0], $streetarray[0], $localityarray[0], $regionarray[0], $postalcodearray[0], $phonearray[0]),
array($namearray[1], $streetarray[1], $localityarray[1], $regionarray[1], $postalcodearray[1], $phonearray[1]),
array($namearray[2], $streetarray[2], $localityarray[2], $regionarray[2], $postalcodearray[2], $phonearray[2]),
array($namearray[3], $streetarray[3], $localityarray[3], $regionarray[3], $postalcodearray[3], $phonearray[3])
);
$fp = fopen('hrpsearch.csv', 'w');
foreach ($list as $fields) {
fputcsv($fp, $fields);
}
fclose($fp);
?>