我有一些数组,它们的格式可能都是这样的:
Array (
[0] => .
[1] => ..
[2] => 151108-some_image-006.jpg
[3] => high
[4] => low
)
我知道它们有5个值,但我不能确定每个值放在哪里。
我正试图只从这个阵列中获取图像
$pos = array_search('*.jpg', $main_photo_directory);
echo $main_photo_directory[$pos];
但众所周知,它正在寻找一个它找不到的字面*.jpg
。我不太擅长regex,也不知道如何格式化合适的字符串。
从这个阵列中获得第一个图像(假设可能有多个)的最佳方法是什么?
添加
我要求的原因之一是找到一种简单的方法来搜索数组。我不知道正则表达式,但我想用它。我写了一个问题,寻找一个正则表达式,在一个没有搜索结果的字符串末尾找到".jpg"。
这应该有效:
echo current(preg_grep('/'.jpg$/', $array));
您可以在数组上循环,直到找到以jpg:结尾的字符串
function endsWith($haystack, $needle) {
return $needle === "" || (($temp = strlen($haystack) - strlen($needle)) >= 0 && strpos($haystack, $needle, $temp) !== FALSE);
}
$array = [];
$result = false;
foreach($array as $img) {
if(endsWith($img, '.jpg')) {
$result = $img;
break;
}
}
echo $result;