Php For-each只返回第一次迭代
我正试图穿过一个物体。在第一次迭代中,我的初始值有一个问题。所以一切都很好,但我只得到一次迭代,而他们的迭代是3次。你知道为什么会这样吗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
<?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.)