Php 在特定数组中查找字符串

Php 在特定数组中查找字符串,php,arrays,Php,Arrays,我正在读取一个文件的内容并分解成一个数组 反转数组后,请帮助查找END的第一个匹配项,并将所有数据存储到变量中。另外,请帮助获取END的第二个匹配项 function get(){ $path="C:/xampp/htdocs/test/recentOrders.txt"; if(!file_exists($path)){ echo "Error"; }else { $summary= file_get_contents($path

我正在读取一个文件的内容并分解成一个数组 反转数组后,请帮助查找END的第一个匹配项,并将所有数据存储到变量中。另外,请帮助获取END的第二个匹配项

function get(){

    $path="C:/xampp/htdocs/test/recentOrders.txt";
    if(!file_exists($path)){
        echo "Error";   
    }else {
        $summary= file_get_contents($path);

        $summaryarr = explode("\n", $summary);

        $summaryarrR=array_reverse($summaryarr);
        foreach($summaryarrR as $a){
        echo $a."<br>";
    }
    if (in_array('END', $summaryarrR)) {
        echo "Got mac";
    } else { echo "not found"; }

    $key=array_search('END', $summaryarrR); 
    var_dump($key);
}
从W3C复制

var fruits = ["Banana", "Orange", "Apple", "Mango"];
var a = fruits.indexOf("Apple");

我把我的代码缩短了一点,只包含了一些重要的部分,让你在这里得到你想要的结果。 这将在数组中循环,并使用substr()检查数组对象的前三个字母是否为“END”。如果匹配,它会将当前数组键添加到名为$ends的新arary中。这将最终包含包含和结束元素的所有数组键。要获得第一次出现,只需使用$ends[0]:

$summary= file_get_contents($path);

$summaryarr = explode("\n", $summary);

$i=0;
$ends = array();
while( $i < count( $summaryarr ) ){
    echo $summaryarr[$i] . "<br>";
    if( substr( $a, 0, 3 ) == "END" ){
        $ends[] = $i;
    }
    $i++;
}

print_r( "ends occur on array keys: " . $ends );
$summary=file\u get\u contents($path);
$summaryarr=分解(“\n”,$summary);
$i=0;
$ends=数组();
而($i”;
if(substr($a,0,3)=“END”){
$ends[]=$i;
}
$i++;
}
打印(“结束出现在数组键上:.$ends”);

您的答案是javascript,而操作代码在PHPUse in_array()中,数组中的函数不起作用,因为数组元素本身并不只包含“END”。它包含“结束”。in_array()检查是否完全匹配。您到底想提取什么?日期?
$summary= file_get_contents($path);

$summaryarr = explode("\n", $summary);

$i=0;
$ends = array();
while( $i < count( $summaryarr ) ){
    echo $summaryarr[$i] . "<br>";
    if( substr( $a, 0, 3 ) == "END" ){
        $ends[] = $i;
    }
    $i++;
}

print_r( "ends occur on array keys: " . $ends );