参见英文答案 >

PHP in_array() / array_search() odd behaviour                                    2个

我最近发现在我的代码中使用array_search函数时遇到了麻烦.我正在搜索数组“$allcraftatts”的值为“sharp”.我尝试通过设置两行实验来隔离问题:

$testcopy=$allcraftatts;

$testsharp=array_search("sharp", $testcopy);

使用“print_r(get_defined_vars());”后来,我得到了这个结果:

[testcopy] => Array

(

[0] => 0

[1] => 0

[2] => 0

[3] => 0

[4] => 0

[5] => 0

[6] => Sharp Stone

[7] => Sharp Stones

[8] => stone

[9] => object

[10] => sharp

[11] => hard

[12] => 0

[13] => 0

[14] => 0

[15] => 0

[16] => 0

[17] => 0

[18] => 0

)

[testsharp] => 0

我确保在任何其他时间都不修改这些变量.

现在,如果我将代码更改为

$testcopy=$allcraftatts;

unset($testcopy[0]);

$testsharp=array_search("sharp", $testcopy);

它返回“1”.

这让我相信它总是返回数组中的第一个键.

它让我感到困惑!这是一个让你害怕语言本身出错的错误之一.不管这是多么令人怀疑,我实际上最终还是被迫在那里看错了PHP源代码,但遗憾的是无法理解它.

看到这是一个简单的功能,我绝对会被不可避免的简单回答完全羞辱,但在这一点上,我只想要一个答案.

php弹出第一个数组中,PHP array_search始终返回数组的第一个键相关推荐

  1. C语言试题二十九之编写函数int function(int lim,int aa[max])求出小于或等于lim的所有素数并放在aa数组中,该函数返回所求的素数的个数。

    1. 题目 编写函数int function(int lim,int aa[max]),该函数的功能是求出小于或等于lim的所有素数并放在aa数组中,该函数返回所求的素数的个数. 2 .温馨提示 C语 ...

  2. C语言试题十三之求出1到100之内能被7或者11整除,但不能同时被7和11整除的所有整书,并将他们放在a所指的数组中,通过n返回这些数的个数。

    1. 题目 求出1到100之内能被7或者11整除,但不能同时被7和11整除的所有整书,并将他们放在a所指的数组中,通过n返回这些数的个数. 2 .温馨提示 C语言试题汇总里可用于计算机二级C语言笔试. ...

  3. 20.编写函数int fun(int lim,int aa[MAX]),该函数的功能是求出小于或等于lim的所有素数并放在aa数组中,该函数返回所求出的素数的个数。

    20.编写函数int fun(int lim,int aa[MAX]),该函数的功能是求出小于或等于lim的所有素数并放在aa数组中,该函数返回所求出的素数的个数. 效果 代码 #include &l ...

  4. layui弹出层在登录中的应用

    layui弹出层在登录中的应用 首先写好登录界面,然后在主界面登录按钮上添加layui弹出层. 登录界面.注册界面二合一(含表单验证) <!DOCTYPE html> <html l ...

  5. java数组输入一个实数_用java!!输入五个数,保存到一个数组中,然后将... C语言,编写一个程序,从键盘输入5个数,算出总和......

    导航:网站首页 > 用java!!输入五个数,保存到一个数组中,然后将... C语言,编写一个程序,从键盘输入5个数,算出总和... 用java!!输入五个数,保存到一个数组中,然后将... C ...

  6. 输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。

    输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分. 我们首先会想到常规方法:创建一个临时数组,遍历所给数组中的所有元素,将偶数 ...

  7. js移除数组中的元素(返回新数组)

    移除数组中的元素(返回新数组) 移除数组 arr 中的所有值与 item 相等的元素.不要直接修改数组 arr,结果返回新的数组. 输入:[1,2,3,4,2] ,2 输出:[1,3,4] 第一种解决 ...

  8. php某列为键数组为值,PHP 将二维数组中某列值作为数组的键名 -- 超实用

    有时候,想通过数组的中某字段值, 然后再在二维数组中获取存在该字段值的数组: 一般能想到的就是foreach 遍历比较一下跟该字段值一样,就获取到想要的数组,如下: //测试二维数组 $arr =ar ...

  9. C语言试题四十四之移动一维数组中的内容,若数组中由n个整数,要求把下标从0到p(p小于等于n-1)的数组元素平移到数组的最后。

    1. 题目 请编写一个函数function,它的功能是:移动一维数组中的内容,若数组中由n个整数,要求把下标从0到p(p小于等于n-1)的数组元素平移到数组的最后. 2 .温馨提示 C语言试题汇总里可 ...

最新文章

  1. python每隔30s检查一次_用Python写一个“离线语音提示器”来提醒我们别忘记了时间...
  2. 利用伸展树提高区间操作的性能
  3. 利用Gtmetrix检测你的网站载入速度!
  4. java 浏览器信息吗_java获取浏览器信息
  5. android 充电模式deamon_Android MarsDaemon实现进程及Service常驻
  6. PHP编码规范 代码样式风格规范
  7. 江苏机器人竞赛南航_挑战不止 热血不息!1000余名青少年决战江苏省机器人普及大赛!...
  8. 知识表示学习Trans系列梳理(论文+代码)
  9. 利用jmeter做一个简单的性能测试并进行参数化设置
  10. Delphi读写UTF-8、Unicode格式文本文件
  11. 基于java的铁路售票系统(火车票预订)ssh框架
  12. cmd批处理剪切_批处理复制文件到剪切板,读取剪切板内容到目录
  13. mysql 减号与下划线_匹本中文、字母、数字、下划线、减号的正则表达式,这样写为什么不对?...
  14. shell中test命令用法详解
  15. Esxi5.5添加4T报错的问题
  16. jQuery 仿问卷星 自定义修改问卷调查表单代码
  17. Linux之poll/select/epoll代码示例
  18. 港科夜闻|香港科大校友荣登大湾区杰出青年女企业家榜
  19. 解决pytorch安装问题,以及NVIDIA CUDA与显卡驱动对照表
  20. css实现三角提示框

热门文章

  1. C语言学习之有一个3X4的二维数组,要求用指向元素的指针变量输出二维数组各元素的值
  2. 程序员面试100题之十六:二叉树中两个节点的最近公共父节点
  3. buaaoo_fourth_assignment
  4. 牛客网测试题--小a和黄金街道
  5. AngularJS学习之旅—AngularJS Http(九)
  6. 2018 前端面试题(不定期更新)
  7. (转载)FPGA基础知识------PS/2基础知识
  8. dedecms 文章回收站 记得及时清理
  9. 新建学生类,分别计算3个科目的总和
  10. [Python从零到壹] 十二.机器学习之回归分析万字总结全网首发(线性回归、多项式回归、逻辑回归)