Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php For-each只返回第一次迭代_Php_Foreach - Fatal编程技术网

Php For-each只返回第一次迭代

Php For-each只返回第一次迭代,php,foreach,Php,Foreach,我正试图穿过一个物体。在第一次迭代中,我的初始值有一个问题。所以一切都很好,但我只得到一次迭代,而他们的迭代是3次。你知道为什么会这样吗 <?php global $wpdb; /*Begin*/ $itemsTable = $wpdb->prefix . "HFW_portfolio_items"; $catTable = $wpdb->prefix . "HFW_portfolio_categories"; $tagTable = $wpdb->prefix . "H

我正试图穿过一个物体。在第一次迭代中,我的初始值有一个问题。所以一切都很好,但我只得到一次迭代,而他们的迭代是3次。你知道为什么会这样吗

<?php
global $wpdb;
/*Begin*/
$itemsTable = $wpdb->prefix . "HFW_portfolio_items";
$catTable = $wpdb->prefix . "HFW_portfolio_categories";
$tagTable = $wpdb->prefix . "HFW_portfolio_tags";
$rowsItemA = $wpdb->get_results("SELECT * FROM"." $itemsTable"."", ARRAY_A);
exit(var_dump($rowsItemA));
$numItems = count($rowsItem);
$i = 0;


//exit(var_dump($rowsItem));
foreach ($rowsItemA as $rowsItem ){
    //$id = $rowsItem[id];


    $port_item = "";
    $id = stripslashes ($rowsItem[id]);
    //exit(var_dump($id));
    $portfolio_category = stripslashes ($rowsItem[portfolio_category]);
    $sql = "SELECT * FROM"." $catTable"." WHERE id="."$portfolio_category"." LIMIT 1";
    $catNameDB = $wpdb->get_results($sql);
    /*from Above Select for CATEGORY*/
    foreach ($catNameDB as $catNameDBs ){
        $portfolio_category = stripslashes ($catNameDBs->cat_name);
    }/**/
    $portfolio_name = stripslashes ($rowsItem[portfolio_name]);
    $portfolio_active = stripslashes ($rowsItem[portfolio_active]);
    $portfolio_tags = stripslashes ($rowsItem[portfolio_tags]);
    $portfolio_main_image = stripslashes ($rowsItem[main_image]);
    $portfolio_desc = stripslashes ($rowsItem[portfolio_desc]);
    $image_2 = stripslashes ($rowsItem[image_2]);
    $image_3 = stripslashes ($rowsItem[image_3]);
    $portfolio_website = stripslashes ($rowsItem[portfolio_website]);
    //exit(var_dump($image_2,$image_3));
    if($image_2 !== '' || $image_2 = null)
        {
            $image_2 = ",'".$image_2."',";
        }
    else
        {
            $image_2 = '';
        }
    if($image_3 !== '' || $image_3 = null)
        {
            $image_3 = ",'".$image_3."'";
        }
    else
        {
            $image_3 = '';
        }
    $port_item .= "
    {
        'title'         : '".$portfolio_name."',
        'description'   : '".$portfolio_desc."',
        'thumbnail'     : ['".$portfolio_main_image."' ".$image_2." ".$image_3."],
        'large'         : ['".$portfolio_main_image."' ".$image_2." ".$image_3."],
        'tags'          : ['".$portfolio_category."']
    }
    ";
    if(++$i === $numItems) {
        $port_item .= "";
    }
    else 
        $port_item .=",";
        //exit(var_dump($i,$numItems));
}
?>

这是因为,您已在循环的刷新中创建了
$port\u item=”“

foreach ($rowsItemA as $rowsItem ){


    $port_item = "";// declaring as null here(remove this.)

因此,在每个循环中,您的值都被重新初始化,并且您只得到1个元素(数组的最后一个元素)

var_dump($rowsItemA)的输出是什么?添加到原始帖子中您是如何知道您只得到一个迭代的?当我回显$port_项时,下面只有1个输出。
foreach ($rowsItemA as $rowsItem ){


    $port_item = "";// declaring as null here(remove this.)