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