perl如何判断一个变量已经包含在一个数组中

perl如何判断一个变量已经包含在一个数组中


白衣染霜花
浏览 1348回答 3
3回答

慕田峪4524236

可以试一下这几种方式,每种方式各有优劣:#!/bin/perl -wuse strict;my @arr = ( "aaa","bbb","ccc","ddd","eee","fff"); # 这个是数组my $vv = "ddd"; # 这个是要查找的变量# 方法1,:使用类似c语言的风格,遍历这个数组,查找变量是否匹配。foreach ( @arr){if( $vv eq $_ ){print "$vv\n"}}#方法2:使用map,查找数组中是否含有该变量map { if($vv eq $_) { print "$vv\n"} } @arr;#方法3:使用grep,查找数组中是否含有该变量print( grep /^$vv$/, @arr );以上3中方式的编码均已经测试过了,能够得到正确答案。如果LZ初学,可以使用方法1中的类似C语言的循环风格 ……

临摹微笑

array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false。在 PHP 4.2.0 之前,函数在失败时返回 null 而不是 false。如果第三个参数 strict 被指定为 true,则只有在数据类型和值都一致时才返回相应元素的键名。你的$c是字符串$c=array(1,2,3,4); 这样才是数组$result = array_search($a, $c);//这里要用三个等于号,因为两个等于号,如果键名是0也会进来if ($result === false) {echo “没有相同";} else {echo "有相同";}

红糖糍粑

最常用的是使用grepgrep {$_ == $x} @arr;
打开App,查看更多内容
随时随地看视频慕课网APP