[英]Skip foreach loop when response is empty using PDO querys in php
[英]skip row item if value empty using for loop php
我使用for循環打印一些數據。我的代碼工作正常,但如果特定值為空,我想跳過行
我的代碼
$count = count($cd);
for ($i = 0; $i < $count; $i++)
{
print'["'.$cd[$i][2].'", '.$cd[$i][4].', '.$cd[$i][5].','.$count.',"'.$cd[$i][8].'","'.$cd[$i][0].'", "'.strip_tags($cd[$i][3]).'","'.$cd[$i][6].'"]';
if ($i < ($count - 1))
{
echo ', ';
}
}
如果$cd[$i][2] and $cd[$i][4]
值為空,則打印跳過此行
任何想法
使用if
條件跳過空行並檢查是否為空然后打印。
$count = count($cd);
for ($i = 0; $i < $count; $i++)
{
if(!empty($cd[$i][2]) && !empty($cd[$i][4]))
print'["'.$cd[$i][2].'", '.$cd[$i][4].', '.$cd[$i][5].','.$count.',"'.$cd[$i][8].'","'.$cd[$i][0].'", "'.strip_tags($cd[$i][3]).'","'.$cd[$i][6].'"]';
if ($i < ($count - 1))
{
echo ', ';
}
}
試試這樣:
$count = count($cd);
for ($i = 0; $i < $count; $i++)
{
if(!empty($cd[$i][2]) && !empty( $cd[$i][4])) {
print'["'.$cd[$i][2].'", '.$cd[$i][4].', '.$cd[$i][5].','.$count.',"'.$cd[$i][8].'","'.$cd[$i][0].'", "'.strip_tags($cd[$i][3]).'","'.$cd[$i][6].'"]';
if ($i < ($count - 1))
{
echo ', ';
}
}
}
有多種方法可以檢查某些內容是否為“空白”:
if(empty($var))
- 如果未設置變量,則為empty($var)
為true
,或者它具有空值 (空= 空字符串或零或空或者為假 )
if(!strlen($var))
- 這幾乎是相同的,除非沒有設置變量,你將得到一個警告,並且零不是空值,在這種情況下顯然是(因為它檢查值的長度)。
if(!isset($var))
- 如果設置了變量,則isset($var)
為true
,否則為false
。 所以, !isset($var)
恰恰相反,因為否定。
因此,根據您對空白的定義,您可能需要在此處檢查不同的內容。 但總的來說,條件看起來像這樣:
for ($i = 0; $i < $count; $i++)
{
if(empty($cd[$i][2]) && empty($cd[$i][4])) continue; // skip this line entirely
... // the rest of your code in the loop
}
我從別人那里采取了一些不同的方法......(使用foreach代替)
以此為例:
$count = count($cd);
$i = 0;
$sep = ',';
foreach($cd as $item){
if ($i == ($count - 1)){$sep = '';}
if(!empty($item[2]) && !empty($item[4])){
echo '["' . $item[2] . '", ' . $item[4] . ', ' . $item[5] . ',' . $count . ',"' . $item[8] . '","' . $item[0] . '", "' . strip_tags($item[3]) . '","' . $item[6] . '"]' . $sep;
}else{
$count --;
}
$i++;
}
不太確定是否會慢一些,但我一直喜歡一個foreach
語句來for
聲明。
所有批評都受到歡迎
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.