第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP foreach變量范圍問題

PHP foreach變量范圍問題

PHP
明月笑刀無情 2023-05-26 16:08:36
我有一個充滿關聯(lián)數(shù)組的數(shù)組,如下所示:$arr = [  ['title' => 'My title', 'content' => 'lorem ...', comments: 'lorem ipsum'],  ['title' => 'My title 2', 'content' => 'lorem ...'],  ['title' => 'My title 3', 'content' => 'lorem ...'],  ['title' => 'My title 4', 'content' => 'lorem ...', comments: 'lorem ipsum'],];如您所見,其中一些沒有comments.問題是,我有一個這樣的 foreach 循環(huán):<?php foreach($arr as $key => $value){  extract($value);?>  <div>    ...etc    <?php if($comment): ?>       <span><?= $comment ?></span>    <?php endif; ?>  </div><?php } ?>在第二次迭代中,變量$comments現(xiàn)在保存數(shù)組中第一項的值,因為它沒有在關聯(lián)數(shù)組中找到該屬性,而是使用最后一個,從而破壞了語句if。有什么辦法可以避免這種情況而不必comments: null在原始數(shù)組中添加 a 或其他東西嗎?
查看完整描述

1 回答

?
慕斯王

TA貢獻1864條經驗 獲得超2個贊

只需使用isset來檢查變量是否$elem['comments']存在:

<div>

<?php

foreach($arr as $key => $elem){

? ? if(isset($elem['comments'])){

? ? ? ? // Comments exists here

? ? ? ? echo "<span>".$elem['comments']."</span>";

? ? }else{

? ? ? ? // Comments do not exists here, so don't echo anything

? ? }

}

?>

</div>

或者使用array_key_exists檢查comments鍵是否在數(shù)組中elem


<?php

foreach($arr as $key => $elem){

? ? if(array_key_exists('comments', $elem)) {

? ? ? ? // Comments exists here

? ? ? ? echo "<span>".$elem['comments']."</span>";

? ? }else{

? ? ? ? // Comments do not exists here, so don't echo anything

? ? }

}

?>

請注意:


對于對應于 NULL 值的數(shù)組鍵,isset() 不會返回 TRUE,而 array_key_exists() 會。


因此,在您的用例中,我建議您isset在丟棄具有值的現(xiàn)有comments鍵時使用null,就像comments鍵不存在一樣。


查看完整回答
反對 回復 2023-05-26
  • 1 回答
  • 0 關注
  • 142 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號