数组,foreach,添加字符串到数组麻烦


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]分开,如果可能的话,以某种方式…希望这些都是有意义的!

谢谢你的帮助!

试试

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

但是整个代码很奇怪

$eps_array[1]不是数组,是$eps_array的元素
你可以让array

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

尝试阅读关于什么是array的手册

如果是op_single_ep版本就应该是$eps_array[0]。记住,PHP数组有基于0的索引。

试试这个

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); 
}

最新更新