程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> php-PHP全局變量的問題global

php-PHP全局變量的問題global

編輯:編程綜合問答
PHP全局變量的問題global

代碼鏈接:http://www.mcqyy.com/RunCode/php/#id/29b4699b9f37cc352dcf1e39c7491e86
代碼:

 <?php
$arr = array();
main();
array_push($arr,'2');
arrSearch($arr,'2');
arrSearch($arr,'1');


function main(){
    global $arr;
    array_push($arr,'1');
    arrSearch($arr,'1');
}

function arrSearch($arr,$el){
    echo "<hr>";
    echo "arr:";
    print_r($arr);
    echo "<br/>";
    echo $el.":";
    if(array_search($el,$arr)){
        echo 'yes';
    }else{
        echo 'no';
    }
}

?>

結果是:
arr:Array ( [0] => 1 )
1:no
arr:Array ( [0] => 1 [1] => 2 )
2:yes
arr:Array ( [0] => 1 [1] => 2 )
1:no

ps:剛學php,還請大家指教。

最佳回答:


你的問題在於對array_search的理解不正確,如果查詢存在,它返回的是序號,而不是true或false。因為你查詢的剛好是第一位的,所以返回0, 轉換成布爾值的時候,就變成false了。如果需要判斷值在不在數組中,使用in_array() - 檢查數組中是否存在某個值,如果需要判斷key,使用array_key_exists() - 檢查給定的鍵名或索引是否存在於數組中
參考array_search

array_search — 在數組中搜索給定的值,如果成功則返回相應的鍵名

關於global,參考變量范圍

在函數中聲明了全局變量 $a 和 $b 之後,對任一變量的所有引用都會指向其全局版本。對於一個函數能夠聲明的全局變量的最大個數,PHP 沒有限制。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved