php字符串数组访问,php – 按字符串键x访问数组,其中x是“123”
我們有一個數組,其中鍵是字符串,但這些字符串有時只是數字(例如“123”).當嘗試通過鍵“123”訪問數組時,我們得到一個未定義的索引通知.當僅通過整數123訪問它時,我們得到Undefined Offset通知.這告訴我們我們正在嘗試使用“123”字符串正確地對其進行索引,但它仍未設置.
試圖為這個SO問題提出一個例子,這很難,因為PHP會自動將我們的測試用例中的數組鍵轉換為整數,而在我們的實際應用程序中,這不會發生(由于使用了Java Bridge).我們現在嘗試的測試數組是:
$array = array("123" => array(108, 8));
var_dump($array);
?>
返回:
array(1) { [123]=> array(2) { [0]=> int(108) [1]=> int(8) } }
在我們的現實世界中,它會返回:
array(1) { ["123"]=> array(2) { [0]=> int(108) [1]=> int(8) } }
所以在現實世界中,索引實際上是一個字符串:
var_dump(array_keys($array));
?>
回報
array(1) { [0]=> string(3) "123" }
所以,最后問題是以下代碼的輸出:
foreach ($array as $key => $value) {
if (!isset($array[$key])) {
print "What is happening here?";
}
}
?>
這使:
What is happening here?
根據Yoshi的評論,這里的工作測試代碼:
$array = (array)json_decode('{"123":[108,8]}');
foreach ($array as $key => $value) {
if (!isset($array[$key])) {
print "What is happening here?";
} else {
print "Nothing to see here, move along";
}
}
?>
總結
以上是生活随笔為你收集整理的php字符串数组访问,php – 按字符串键x访问数组,其中x是“123”的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php会员中心模板,会员中心模板
- 下一篇: php常用的搜索引擎,常用搜索引擎高级命