Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 减少if语句的其他方法_Php_If Statement - Fatal编程技术网

Php 减少if语句的其他方法

Php 减少if语句的其他方法,php,if-statement,Php,If Statement,我有一个很大的数组,我也根据路径和日期过滤数组。下面是我为此编写的代码,但由于数组的大小不同,执行时间有点太长。有没有其他方法可以让我更有效地完成这项工作 foreach ($posters as &$poster) { $stats[$poster['Identifier']] = array_filter($stats_results, function($item) use ($poster){ $date = strtotime($item['s

我有一个很大的数组,我也根据路径和日期过滤数组。下面是我为此编写的代码,但由于数组的大小不同,执行时间有点太长。有没有其他方法可以让我更有效地完成这项工作

foreach ($posters as &$poster) {
    $stats[$poster['Identifier']] = array_filter($stats_results, function($item) use ($poster){

            $date = strtotime($item['start_date']);

            $presentation_date = strtotime($poster['Presentation_Date']);

            $expiry=strtotime($poster['Expiry_Date']);

            if($item['path'] == '/' . $poster['Identifier']){
                return 
                    ($date >= $presentation_date && $date <= $expiry );

                }
            if($item['path'] == '/' . $poster['Identifier'].'/pdf-emailed.php'){
                return 
                    ($date >= $presentation_date && $date <= $expiry);
            }

            if($item['path'] == 'http://www.xyz.com/uploads/' . $poster['Identifier'].'.pdf'){
                return
                    ($date >= $presentation_date && $date <= $expiry);
            }

            if($item['path'] == '/'.$poster['Identifier'].'/email_sent/DE'){
                return
                    ($date >= $presentation_date && $date <= $expiry);
            }
            if($item['path'] == '/'.$poster['Identifier'].'/email_sent/FR'){
                return
                    ($date >= $presentation_date && $date <= $expiry);
            }
            if($item['path'] == '/'.$poster['Identifier'].'/email_sent/ES'){
                return
                    ($date >= $presentation_date && $date <= $expiry);
            }
            if($item['path'] == '/'.$poster['Identifier'].'/email_sent/PT'){
                return
                    ($date >= $presentation_date && $date <= $expiry);
            }
            if($item['path'] == '/'.$poster['Identifier'].'/email_sent/IT'){
                return
                    ($date >= $presentation_date && $date <= $expiry);
            }
            if($item['path'] == '/'.$poster['Identifier'].'/email_sent/UK'){
                return
                    ($date >= $presentation_date && $date<= $expiry);
            }

            if($item['path'] == 'http://www.xyz.com/uploads/Germany/'.$poster['Identifier'].'/download/DE.pdf'){
                return
                    ($date >= $presentation_date && $date<= $expiry);
            }

            if($item['path'] == 'http://www.xyz.com/uploads/France/'.$poster['Identifier'].'/download/FR.pdf'){
                return
                    ($date >= $presentation_date && $date <= $expiry);
            }

            if($item['path'] == 'http://www.xyz.com/uploads/Spain/'.$poster['Identifier'].'/download/ES.pdf'){
                return
                    ($date >= $presentation_date && $date <= $expiry);
            }

            if($item['path'] == 'http://www.xyz.com/uploads/Japan/'.$poster['Identifier'].'/download/JA.pdf'){
                return
                    ($date >= $presentation_date && $date <= $expiry);
            }

            if($item['path'] == 'http://www.xyz.com/uploads/Portugal/'.$poster['Identifier'].'/download/PT.pdf'){
                return
                    ($date >= $presentation_date && $date <= $expiry);
            }

            if($item['path'] == 'http://www.xyz.com/uploads/Italy/'.$poster['Identifier'].'/download/IT.pdf'){
                return
                    ($date >= $presentation_date && $date <= $expiry);
            }
            if($item['path'] == 'http://www.xyz.com/uploads/'.$poster['Identifier'].'/download/UK.pdf'){
                return
                    ($date >= $presentation_date && $date <= $expiry);
            }
        }
foreach($posters as&$poster){
$stats[$poster['Identifier']]=数组过滤器($stats\u结果,函数($item)使用($poster){
$date=strottime($item['start_date']);
$presentation_date=strottime($poster['presentation_date']);
$expiry=strottime($poster['expiry_Date']);
如果($item['path']=='/'.$poster['Identifier'])){
返回

($date>=$presentation\u date&$date=$presentation\u date&$date=$presentation\u date&$date=$presentation\u date&$date=$presentation\u date&$date=$presentation\u date&$date=$presentation\u date&$date=$presentation\u date&$date=$date=$presentation\u date&$date=$presentationon_date&&$date=$presentation\u date&&$date=$presentation\u date&&$date=$presentation\u date&$date=$presentation\u date&$date创建一个数组,其中所有测试值都是键,并测试是否匹配

foreach ($posters as &$poster) {
    $stats[$poster['Identifier']] = array_filter($stats_results, function($item) use ($poster){
            $date = strtotime($item['start_date']);
            $presentation_date = strtotime($poster['Presentation_Date']);
            $expiry=strtotime($poster['Expiry_Date']);

            $test_array = array ('/' . $poster['Identifier'] => true
                                 '/' . $poster['Identifier'].'/pdf-emailed.php' => true
                                 'http://www.xyz.com/uploads/' . $poster['Identifier'].'.pdf' => true
                                 '/'.$poster['Identifier'].'/email_sent/DE' => true
                                 '/'.$poster['Identifier'].'/email_sent/FR' => true
                                 '/'.$poster['Identifier'].'/email_sent/ES' => true
                                 '/'.$poster['Identifier'].'/email_sent/PT' => true
                                 '/'.$poster['Identifier'].'/email_sent/IT' => true
                                 '/'.$poster['Identifier'].'/email_sent/UK' => true
                                 'http://www.xyz.com/uploads/Germany/'.$poster['Identifier'].'/download/DE.pdf' => true
                                 'http://www.xyz.com/uploads/France/'.$poster['Identifier'].'/download/FR.pdf' => true
                                 'http://www.xyz.com/uploads/Spain/'.$poster['Identifier'].'/download/ES.pdf' => true
                                 'http://www.xyz.com/uploads/Japan/'.$poster['Identifier'].'/download/JA.pdf' => true
                                 'http://www.xyz.com/uploads/Portugal/'.$poster['Identifier'].'/download/PT.pdf' => true
                                 'http://www.xyz.com/uploads/Italy/'.$poster['Identifier'].'/download/IT.pdf' => true
                                 'http://www.xyz.com/uploads/'.$poster['Identifier'].'/download/UK.pdf' => true);
            if (isset($test_array[$item['path']])) {
                return ($date >= $presentation_date && $date <= $expiry);
            }
        });
}
foreach($posters as&$poster){
$stats[$poster['Identifier']]=数组过滤器($stats\u结果,函数($item)使用($poster){
$date=strottime($item['start_date']);
$presentation_date=strottime($poster['presentation_date']);
$expiry=strottime($poster['expiry_Date']);
$test_array=array('/'.$poster['Identifier']=>true
'/'.$poster['Identifier']./pdf emailed.php'=>true
'http://www.xyz.com/uploads/'.$poster['Identifier']..pdf'=>true
“/”.$poster['Identifier']./email_sent/DE'=>true
“/”.$poster['Identifier']./email_sent/FR'=>true
“/”.$poster['Identifier']./email_sent/ES'=>true
“/”.$poster['Identifier']./email_sent/PT'=>true
“/”.$poster['Identifier']./email_sent/IT'=>true
“/”.$poster['Identifier']./email_sent/UK'=>true
'http://www.xyz.com/uploads/Germany/“.$poster['Identifier']”./download/DE.pdf'=>true
'http://www.xyz.com/uploads/France/“.$poster['Identifier']”./download/FR.pdf'=>true
'http://www.xyz.com/uploads/Spain/“.$poster['Identifier']”./download/ES.pdf'=>true
'http://www.xyz.com/uploads/Japan/“.$poster['Identifier']”./download/JA.pdf'=>true
'http://www.xyz.com/uploads/Portugal/“.$poster['Identifier']”./download/PT.pdf'=>true
'http://www.xyz.com/uploads/Italy/“.$poster['Identifier']”./download/IT.pdf'=>true
'http://www.xyz.com/uploads/“.$poster['Identifier']”./download/UK.pdf'=>true);
if(isset($test_数组[$item['path']])){

return($date>=$presentation\u date&&$date创建一个数组,其中所有测试值都是键,并测试是否匹配

foreach ($posters as &$poster) {
    $stats[$poster['Identifier']] = array_filter($stats_results, function($item) use ($poster){
            $date = strtotime($item['start_date']);
            $presentation_date = strtotime($poster['Presentation_Date']);
            $expiry=strtotime($poster['Expiry_Date']);

            $test_array = array ('/' . $poster['Identifier'] => true
                                 '/' . $poster['Identifier'].'/pdf-emailed.php' => true
                                 'http://www.xyz.com/uploads/' . $poster['Identifier'].'.pdf' => true
                                 '/'.$poster['Identifier'].'/email_sent/DE' => true
                                 '/'.$poster['Identifier'].'/email_sent/FR' => true
                                 '/'.$poster['Identifier'].'/email_sent/ES' => true
                                 '/'.$poster['Identifier'].'/email_sent/PT' => true
                                 '/'.$poster['Identifier'].'/email_sent/IT' => true
                                 '/'.$poster['Identifier'].'/email_sent/UK' => true
                                 'http://www.xyz.com/uploads/Germany/'.$poster['Identifier'].'/download/DE.pdf' => true
                                 'http://www.xyz.com/uploads/France/'.$poster['Identifier'].'/download/FR.pdf' => true
                                 'http://www.xyz.com/uploads/Spain/'.$poster['Identifier'].'/download/ES.pdf' => true
                                 'http://www.xyz.com/uploads/Japan/'.$poster['Identifier'].'/download/JA.pdf' => true
                                 'http://www.xyz.com/uploads/Portugal/'.$poster['Identifier'].'/download/PT.pdf' => true
                                 'http://www.xyz.com/uploads/Italy/'.$poster['Identifier'].'/download/IT.pdf' => true
                                 'http://www.xyz.com/uploads/'.$poster['Identifier'].'/download/UK.pdf' => true);
            if (isset($test_array[$item['path']])) {
                return ($date >= $presentation_date && $date <= $expiry);
            }
        });
}
foreach($posters as&$poster){
$stats[$poster['Identifier']]=数组过滤器($stats\u结果,函数($item)使用($poster){
$date=strottime($item['start_date']);
$presentation_date=strottime($poster['presentation_date']);
$expiry=strottime($poster['expiry_Date']);
$test_array=array('/'.$poster['Identifier']=>true
'/'.$poster['Identifier']./pdf emailed.php'=>true
'http://www.xyz.com/uploads/'.$poster['Identifier']..pdf'=>true
“/”.$poster['Identifier']./email_sent/DE'=>true
“/”.$poster['Identifier']./email_sent/FR'=>true
“/”.$poster['Identifier']./email_sent/ES'=>true
“/”.$poster['Identifier']./email_sent/PT'=>true
“/”.$poster['Identifier']./email_sent/IT'=>true
“/”.$poster['Identifier']./email_sent/UK'=>true
'http://www.xyz.com/uploads/Germany/“.$poster['Identifier']”./download/DE.pdf'=>true
'http://www.xyz.com/uploads/France/“.$poster['Identifier']”./download/FR.pdf'=>true
'http://www.xyz.com/uploads/Spain/“.$poster['Identifier']”./download/ES.pdf'=>true
'http://www.xyz.com/uploads/Japan/“.$poster['Identifier']”./download/JA.pdf'=>true
'http://www.xyz.com/uploads/Portugal/“.$poster['Identifier']”./download/PT.pdf'=>true
'http://www.xyz.com/uploads/Italy/“.$poster['Identifier']”./download/IT.pdf'=>true
'http://www.xyz.com/uploads/“.$poster['Identifier']”./download/UK.pdf'=>true);
if(isset($test_数组[$item['path']])){

return($date>=$presentation\u date&&$date创建一个数组,其中所有测试值都是键,并测试是否匹配

foreach ($posters as &$poster) {
    $stats[$poster['Identifier']] = array_filter($stats_results, function($item) use ($poster){
            $date = strtotime($item['start_date']);
            $presentation_date = strtotime($poster['Presentation_Date']);
            $expiry=strtotime($poster['Expiry_Date']);

            $test_array = array ('/' . $poster['Identifier'] => true
                                 '/' . $poster['Identifier'].'/pdf-emailed.php' => true
                                 'http://www.xyz.com/uploads/' . $poster['Identifier'].'.pdf' => true
                                 '/'.$poster['Identifier'].'/email_sent/DE' => true
                                 '/'.$poster['Identifier'].'/email_sent/FR' => true
                                 '/'.$poster['Identifier'].'/email_sent/ES' => true
                                 '/'.$poster['Identifier'].'/email_sent/PT' => true
                                 '/'.$poster['Identifier'].'/email_sent/IT' => true
                                 '/'.$poster['Identifier'].'/email_sent/UK' => true
                                 'http://www.xyz.com/uploads/Germany/'.$poster['Identifier'].'/download/DE.pdf' => true
                                 'http://www.xyz.com/uploads/France/'.$poster['Identifier'].'/download/FR.pdf' => true
                                 'http://www.xyz.com/uploads/Spain/'.$poster['Identifier'].'/download/ES.pdf' => true
                                 'http://www.xyz.com/uploads/Japan/'.$poster['Identifier'].'/download/JA.pdf' => true
                                 'http://www.xyz.com/uploads/Portugal/'.$poster['Identifier'].'/download/PT.pdf' => true
                                 'http://www.xyz.com/uploads/Italy/'.$poster['Identifier'].'/download/IT.pdf' => true
                                 'http://www.xyz.com/uploads/'.$poster['Identifier'].'/download/UK.pdf' => true);
            if (isset($test_array[$item['path']])) {
                return ($date >= $presentation_date && $date <= $expiry);
            }
        });
}
foreach($posters as&$poster){
$stats[$poster['Identifier']]=数组过滤器($stats\u结果,函数($item)使用($poster){
$date=strottime($item['start_date']);
$presentation_date=strottime($poster['presentation_date']);
$expiry=strottime($poster['expiry_Date']);
$test_array=array('/'.$poster['Identifier']=>true
'/'.$poster['Identifier']./pdf emailed.php'=>true