0
所以我在我的盟友阵列上运行了一个print_r,结果出现了这个问题。现在这里的问题是我有一个问题,试图找出我的foreach应该看起来如何,因为在这个数组里面不会有值。我希望它能做的事情是,如果有任何没有值的地方,那么甚至不会将它包含在数组中,这样它只能回显索引。有什么建议么?Foreach循环没有全部数据
Array ( [0] => Ryu Satoshi [1] => Oriel [2] => \"The Ladies Man\" Luscious Landon [3] => [4] => )
function getCharacterAllies($character_id)
{
$testArray = array();
$this->db->select('ally1_id, ally2_id, ally3_id, ally4_id, ally5_id');
$this->db->from('characters_bio_allies');
$this->db->where('characters_id', $character_id);
$query = $this->db->get();
if ($query->num_rows() > 0)
{
$row = $query->row();
$ids = array(
$row->ally1_id,
$row->ally2_id,
$row->ally3_id,
$row->ally4_id,
$row->ally5_id
);
foreach ($ids as $id)
{
if($id !== '0')
{
$this->db->select('character_name');
$this->db->from('characters');
$this->db->where('id', $id);
$query = $this->db->get();
$row = $query->row();
$testArray[] = $row->character_name;
}
else
{
$testArray[] = "";
}
}
}
else
{
for ($x = 0; $x < 5; $x++)
{
$testArray[] = "";
}
}
return $testArray;
}
foreach ($alliesArray as $row)
{
echo "<li>".$row['character_name']."</li>";
}
我更新我的职务。 –
做一个'if(count($ alliesArray)> 0)'并把你的foreach放在这里if? –
此外,你不应该有一个循环内查询 – Mikhail