【phpin_array函数引发的一些思想】教程文章相关的互联网学习教程文章

php – switch / cases和in_array之间的循环复杂性差异【代码】

脚本 我需要检查我的$type_id变量是否是某组ID中的一个. 除了可读性之外没有任何理由,我去了switch($type_id) {case Type::SOME_TYPE:case Type::SOME_OTHER_TYPE:...//do stuff其中大多数级联到一个常见的情况. 但这会增加圈复杂度,使得PHPMD开始抱怨. 所以我想,让我们只使用in_array().if (in_array($type_id, [Type::SOME_TYPE,TYPE::SOME_OTHER_TYPE,...])) {//do stuff }题 此时PHPMD停止抱怨,但是仍然存在圈复杂度,只是隐藏在...

php – in_array在小数点后忽略000【代码】

$arr = array(2.1,3.1);if(in_array(2.1000,$arr))echo "yes"; elseecho "no";我希望它应该显示“否”但它忽略小数点后的0.解决方法:你能做的是(字符串)$arr [0] ==’2.1000′.唯一的问题是,当在PHP中使用浮点数时,它将“删除”前导零和尾随零,因此它们总是不会为零,除非您最初将它们存储为字符串或者如果您跟踪前导和尾随另一个数组中的零.

php – file_exists()与scandir()的in_array() – 哪个更快?【代码】

假设我们有一个这样的循环:foreach($entries as $entry){ // let's say this loops 1000 timesif (file_exists('/some/dir/'.$entry.'.jpg')){echo 'file exists';} }我假设这必须访问HDD 1000次并检查每个文件是否存在. 这样做呢?$files = scandir('/some/dir/'); foreach($entries as $entry){ // let's say this loops 1000 timesif (in_array($entry.'.jpg', $files)){echo 'file exists';} }问题1:如果这次访问硬盘一次,那...

PHP:in_array()vs array_intersect()性能【代码】

什么,多少,更快 – 用foreach手动迭代数组并使用in_array()或使用array_intersect()检查针的出现?最佳答案:基准 测试脚本<?php $numbers = range(32, 127); $numbersLetters = array_map('chr', $numbers);for (;;) {$numbersLetters = array_merge($numbersLetters, $numbersLetters);if (count($numbersLetters) > 10000) {break;} }$numbers = range(1, count($numbersLetters));printf("Sample size: %d elements in 2 arrays...

PHP,MySQL:mysql替代php in_array函数【代码】

假如我有一个数组并且我想检查一个元素是否是该数组的一部分,我可以继续使用in_array(needle,haystack)来确定结果.我试图看到PHP相当于我的目的.现在你可能有一个即时的答案,你可能会想说“使用IN”.是的,我可以使用IN,但这并没有取得预期的结果.让我用一个例子来解释一下: 我在DB表中有一个名为“pets”的列.作为记录,它有一个值:猫,狗,骆驼(是的,列数据是逗号分隔值).请考虑此行的id为1. 现在我有一个表单,我可以在表单输入中输...

PHP的in_array与MySQL SELECT

我需要检查我的数据库中是否已存在某个整数值(它一直在增长).它应该在一个脚本中完成几千次.我正在考虑两种选择: >将所有这些数字从MySQL数据库读入PHP数组,每次我需要检查它时,使用in_array函数.>每次我需要检查数字时,只需执行SELECT number FROM table WHERE number =’#’LIMIT 1之类的操作 一方面,搜索存储在RAM中的数组应该比每次查询mysql更快(正如我所提到的,这些检查在一次脚本执行期间执行了大约一千次).另一方面,数据库...