2024年08月27日
上一节我们学习了do while循环的使用以及语法,这一节我们学习foreach循环。
foreach循环实在太特殊了,我想本篇文章想详细的介绍,那是万万不能啊!毕竟我自身也只是学习了foreach的冰山一角。foreach从语法结构上来说,可以写成 as $key => $value 的形式,这样的话,就能完美的实现索引数组和关联数组同时使用循环并进行兼容。对于关联数组而言是一个福音,而事实上,其他语言中把关联数组成为对象 亦或是 键值对,这种特殊数据结构使用关联数组存储非常方便,在foreach的循环下,大放光彩!而我们实际工作中发现,关联数组的数据多数是用foreach来循环的,很少用for或者while循环。
2024年08月27日
PHP实现的敏感词过滤方法,以下是一份过滤敏感词的编码。有需要可以参考参考。
/** * @todo 敏感词过滤,返回结果 * @param array $list 定义敏感词一维数组 * @param string $string 要过滤的内容 * @return string $log 处理结果 */ function sensitive($list, $string){ $count = 0; //违规词的个数 $sensitiveWord = ''; //违规词 $stringAfter = $string; //替换后的内容 $pattern = "/".implode("|",$list)."/i"; //定义正则表达式 if(preg_match_all($pattern, $string, $matches)){ //匹配到了结果 $patternList = $matches[0]; //匹配到的数组 $count = count($patternList); $sensitiveWord = implode(',', $patternList); //敏感词数组转字符串 $replaceArray = array_combine($patternList,array_fill(0,count($patternList),'*')); //把匹配到的数组进行合并,替换使用 $stringAfter = strtr($string, $replaceArray); //结果替换 } $log = "原句为 [ {$string} ]<br/>"; if($count==0){ $log .= "暂未匹配到敏感词!"; }else{ $log .= "匹配到 [ {$count} ]个敏感词:[ {$sensitiveWord} ]<br/>". "替换后为:[ {$stringAfter} ]"; } return $log; }
2024年08月27日
当你需要为数组的每个键添加一个字符或多个字符时,大多数人都喜欢使用for循环或foreach循环来添加键。但是我们可以在不用任何循环的情况下来实现。那么我们主要通过使用array_combine(), array_keys()和array_map()函数来实现在数组的每个键上添加前缀。
2024年08月27日
转微信公众号:PHP在线
这个教程我将通过一些实用的实例和最佳实践的方式列举出 PHP 中常用的数组函数。每个 PHP 工程师都应该掌握它们的使用方法,以及如何通过组合使用来编写更精简且易读的代码。
另外,我们提供了相关示例代码的演示文稿,你可以从相关链接下载它,并分享给你的团队来打造更强的团队。
2024年08月27日
/*常用数组函数*/
//count函数 统计数组的元素个数
$arr1 = array(array(1,2,3),array(4,5,6));
$num = count($arr1);//默认 0 不计算多维数组的元素
$num1 = count($arr1,1); // 1 递归计算多维数组中元素的个数
2024年08月27日
场景
永远不能相信用户的输入,那么对api中的参数进行统一过滤,就需要去遍历数组?
语法
array_map ( callable $callback , array $array1 [, array $... ] ) : array
数组中的元素作为参数,执行callback,返回值是新数组
$callback($element)
array_walk ( array &$array , callable $callback [, mixed $userdata = NULL ] ) : bool
数组中的元素作为参数,执行callback, 这里是引用传值,会直接修改原数组
$callback(&$value, $key), 数组的元素值与key
2024年08月27日
我们讲解了很多种PHP数组操作的引用场景。今天我们接着分享这方面的知识,说一说对于多维数组,如何根据值搜索,并返回数组的索引值。
最开始我们习惯于跟随本能写代码,下意识地开始用 for 循环,对数组进行遍历,然后挨个比对,如果值相等,就返回索引值,如果没有匹配上,就是不存在。