我有一个列表:
$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。
答案 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>
答案 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
答案 2 :(得分:1)
我的5便士:)
$Mydistrict = "ME";
$DistrictCodes = "EA,BC,OC,NC,ME,RA,CM,NE";
$MyDisPos = strpos($DistrictCodes,$Mydistrict) / 3;
echo "MyDisPos = $MyDisPos <br>";