搜索列表中的元素

时间:2015-06-24 15:38:36

标签: php arrays

我有一个列表:

$DistrictCodes = "EA,BC,OC,NC,ME,RA,CM,NE";

我正在尝试在列表中找到第n个值,其值等于" ME"。 所以这就是我的工作:

$Mydistrict = "ME";
$DistrictCodes = "EA,BC,OC,NC,ME,RA,CM,NE";
$MyDistrictArray = array($DistrictCodes);
$MyDisPos = array_search($Mydistrict, $MyDistrictArray);
echo "MyDisPos = $MyDisPos <br>";

然而,它不起作用?为什么? 我需要的是弄清楚列表中哪个元素的值为ME,并得出0,1,2,3,4,5,6或7。

3 个答案:

答案 0 :(得分:3)

您几乎就在那里,将$DistrictCodes转换为可以使用explode的数组。

<?php

$Mydistrict = "ME";
$DistrictCodes = "EA,BC,OC,NC,ME,RA,CM,NE";
$MyDistrictArray = explode(',', $DistrictCodes);
$MyDisPos = array_search($Mydistrict, $MyDistrictArray);
echo "MyDisPos = $MyDisPos <br>";

// MyDisPos = 4 <br>

http://3v4l.org/DYV0K

答案 1 :(得分:2)

你不需要把它转换成数组,在PHP中我们有这个很棒的函数来代表字符串中的搜索:http://php.net/manual/en/function.strpbrk.php

<?php

$Mydistrict = "ME";
$DistrictCodes = "EA,BC,OC,NC,ME,RA,CM,NE";
$output = strpbrk($Mydistrict, $DistrictCodes);

echo $output;
//output-> ME

http://3v4l.org/ah1h8

答案 2 :(得分:1)

我的5便士:)

$Mydistrict = "ME";
$DistrictCodes = "EA,BC,OC,NC,ME,RA,CM,NE";

$MyDisPos = strpos($DistrictCodes,$Mydistrict) / 3;
echo "MyDisPos = $MyDisPos <br>";