PHP获取以“.jpg”结尾的第一个数组值

PHP获取以“.jpg”结尾的第一个数组值,php,arrays,regex,Php,Arrays,Regex,我有一些数组,它们的格式可能都是这样的: Array ( [0] => . [1] => .. [2] => 151108-some_image-006.jpg [3] => high [4] => low ) 我知道它们有5个值,但我不能确定每个值放在哪里 我正在尝试仅从该阵列中获取图像 $pos = array_search('*.jpg', $main_photo_directory); echo $main_phot

我有一些数组,它们的格式可能都是这样的:

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。我对正则表达式不是很在行,也不知道如何格式化适当的字符串

假设此阵列中可能有多个图像,那么获取第一个图像的最佳方法是什么

加成

我要问的原因之一是找到一种简单的方法来搜索数组。我不知道正则表达式,不过我想用它。我写的问题是寻找一个正则表达式,以便在没有搜索结果的字符串末尾找到“.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;

正则表达式???使用循环?@PeeHaa并搜索什么?以.jpgRight结尾的字符串-这是我的问题。如何搜索以.jpg结尾的字符串?使用2k表示,我希望您能找到最清晰、最简单、最直接的答案。谢谢将在7分钟内接受的确,令人印象深刻。您只需注意如何使用结果,因为您不能简单地在函数调用中使用current,例如。@arkascha很好,我使用文本字符串通过ajax调用向后推。所提供的完全符合我的需要。@arkascha:什么?为什么不呢?echo strotuppercurrentpreg'/\.jpg$/',$array;