Почему возникают не понятки с массивом?

вот код
$news= array();
     foreach($parse as $index =>$value){
                preg_match($value,$main_page,$matches);
                 $news[$index]=$matches;}
    var_dump($news);

получаю вот такой массив
'name' => 
        array (size=2)
          0 => string '<h1 class="moviename-big" itemprop="name">Гладиатор</h1>' (length=65)
          1 => string 'Гладиатор' (length=18)
      'originalname' => 
        array (size=2)
          0 => string '<span itemprop="alternativeHeadline">Gladiator</span>' (length=53)
          1 => string 'Gladiator' (length=9)
      'year' => 
        array (size=2)
          0 => string 'год</td>
                    <td><div style="position: relative">
                        <a href="/lists/m_act%5Byear%5D/2000/" title="">2000</a>' (length=141)
          1 => string '2000' (length=4)
      'country_title' => 
        array (size=2)
          0 => string 'страна</td>
                    <td><div style="position: relative">
                        <a href="/lists/m_act%5Bcountry%5D/1/">США</a>, <a href="/lists/m_act%5Bcountry%5D/11/">Великобритания</a>
                    </div></td>' (length=242)
          1 => string '<div style="position: relative">
                        <a href="/lists/m_act%5Bcountry%5D/1/">США</a>, <a href="/lists/m_act%5Bcountry%5D/11/">Великобритания</a>
                    </div>' (length=199)
      'slogan' => 
        array (size=2)
          0 => string 'слоган</td><td style="color: #555">&laquo;Генерал, ставший рабом. Раб, ставший гладиатором. Гладиатор, бросивший вызов империи&raquo;</td></tr>' (length=219)
          1 => string '&laquo;Генерал, ставший рабом. Раб, ставший гладиатором. Гладиатор, бросивший вызов империи&raquo;' (length=168)

если пишу так
$news= array();
     foreach($parse as $index =>$value){
                preg_match($value,$main_page,$matches);
                 $news[$index]=$matches[1];}
    var_dump($news);

получаю Undefined offset: 1 почему и как исправить ?
  • Вопрос задан
  • 87 просмотров
Пригласить эксперта
Ответы на вопрос 2
@SharuPoNemnogu
не язык плохой, программисты такие...
скорее всего не везде находит
if (preg_match($value,$main_page,$matches)) {
    $news[$index] = $matches[1];
} else {
    //или убрать else вообще
    $news[$index] = '';
}
Ответ написан
Комментировать
usdglander
@usdglander Куратор тега PHP
Yipee-ki-yay
...
$news[$index]['originalName']=$matches['originalName'][1];
$news[$index]['year']=$matches['year'][1];
...


Хотя я бы какой нить хелпер написал, который проходит по всем элементам массива $matches и все первые индексы выносит в отдельный массив.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы