Массивы, foreach, добавление строки в массив - PullRequest
0 голосов
/ 05 августа 2011
if ($_POST['op_ep_cat'] == 'op_single_ep') 
{
$ep_place = $_POST['the_place']; 
$eps_array = array();   
    array_push($eps_array, $ep_place); 
}

else if ($_POST['op_ep_cat'] == 'op_category') {
    $cat_site = $_POST['the_place'];    
    $taken_cat_site = file_get_contents($cat_site);

    if (preg_match_all('#<div class="content_ep"><a href="(.+?)"#si', $taken_cat_site, $eps_array));

    else if (preg_match_all('#<div class="postlist">\s*<a href="(.+?)"#si', $taken_cat_site, $eps_array));

}


foreach(array_reverse($eps_array[1]) as $eps_match)
{ 
     echo 'Arughh!';
}

Вышеописанное прекрасно работает для 'op_category', но не для 'op_single_ep' ... Так что в принципе $ep_place должно быть отдельно от $eps_array[1], если возможно, каким-то образом. Надеюсь, любой изэто имеет смысл!

Я ценю любую помощь!

Ответы [ 4 ]

1 голос
/ 05 августа 2011

$eps_array[1] не является массивом, является элементом $eps_array
Вы можете сделать массив

$eps_array = array(1=>array());
array_push($eps_array[1], $ep_place); 

Попробуйте прочитать руководство о том, что такое массив

1 голос
/ 05 августа 2011

попробуйте

$eps_array = array(1 => array($_POST['the_place']));

, но весь код просто странный

0 голосов
/ 05 августа 2011

это будет $eps_array[0] для op_single_ep версии.Помните, что массивы PHP имеют индексы на основе 0.

0 голосов
/ 05 августа 2011

Попробуйте это

if ($_POST['op_ep_cat'] == 'op_single_ep') 
{
  $ep_place = $_POST['the_place'];  
  $eps_array = array();
  $eps_array[1] = array();
  array_push($eps_array[1], $ep_place); 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...