PHP 数组下标自动转换为整型的坑
2024-08-25 07:06:29
在做项目时,上线后遇到一个 BUG,有一个数组存储了下标从 ‘01’到‘18’ 总共18组数据。上线前测试了前几组数据,没问题。上线后,在用户选择‘15’时报错,找不到这个数据。查了一下代码,数据是没问题的,只是这里使用了‘===’来判断相等:
// $code 作为参数传入
foreach ($arr as $k => $v) {
if ($k === $code) {
// ...
}
}
有可能是类型出问题了,测试一下:
<?php
//请输入你的php代码
$arr = array(
'01' => "hello",
'10' => "world",
'0' => "hello",
6 => "hello",
'1' => "hello",
'3.14' => "ww",
);
echo '<pre/>';
foreach ($arr as $k => $v) {
var_dump($k);
}
echo ('--------------').PHP_EOL;
var_dump('01');
var_dump('10');
输出如下:
string(2) "01"
int(10)
int(0)
int(6)
int(1)
string(4) "3.14"
--------------
string(2) "01"
string(2) "10"
对于可以转为数字的下标,PHP 会自动将其转为数字!
最新文章
- JS学习进阶中 come on!
- 自己写的java excel导出工具类
- windows使用python3.4生成二维码
- Java--使用多线程下载,断点续传技术原理(RandomAccessFile)
- OpenWRT学习笔记-1@WNDR3800
- php file_get_contents 绕过
- 你必须知道的28个HTML5特征、窍门和技术
- sharepoint workflow不能正常使用
- AssemblyInfo.cs文件参数具体讲解
- C 中数组和指针的区别
- 记一次js中和php中的字符串长度计算截取的终极问题和完美解决方案
- jquery 简单弹出层(转)
- API各函数作用简介
- cocoapod安装失败解决
- angular实现form验证
- BUG,带给我的思考
- C语言学习第六章
- CCF系列之数列分段(201509-1)
- [Swift]LeetCode100. 相同的树 | Same Tree
- MySQL高级特性之分区表