【发布时间】:2020-04-12 16:24:32
【问题描述】:
我从 FTP 文件夹中提取了一组文件名,其中包括商店编号和日期,例如“Store Evaluation_12345_2019-12-19_0000.pdf”。我们称数组为$file_list。我首先得到了当月的所有文件名 ($currentYearMonth = date('Y-m');)。接下来我提取了商店编号和日期,然后从日期中获取每个文件名的星期几,以及分配给每个商店的顾问:
// Create empty arrays to store our outputs
$SN = array();
$Day = array();
$BC = array();
$SNandDayEvals = array();
foreach($file_list as $eval) {
if ((strpos($eval, '.pdf') !== false) && (strpos($eval, 'Store Evaluation') !== false) && (strpos($eval, $currentYearMonth) !== false)) {
// Extract store number and date
preg_match('/Store Evaluation_(.*?)_(.*?)_/', $eval, $filename);
$EvalStoreNum = $filename[1];
$EvalDate = $filename[2];
// Get day of week from filename date
$EvalDay = date('D', strtotime($EvalDate));
// Convert Store Number to Store's Username
$username = 'shop'.$EvalStoreNum;
// Get store from database by username
$Shop = get_user_by('login', $username);
// Get store's consultant
$assignedBC = $Shop->Group;
// Create new arrays
$SN[] = $EvalStoreNum;
$SNandDayEvals[] = $EvalStoreNum.'_'.$EvalDay;
}
}
然后长话短说,我得到顾问的商店列表(数组 = $outputBCStores),并检查哪些文件名属于每个顾问:
$BCEvalsCompleted = array_intersect($SN, $outputBCStores);
$results = implode('<br>', $BCEvalsCompleted);
return = $results;
这可以很好地自行输出商店编号列表。现在我想弄清楚如何在商店编号旁边添加星期几。例如“12345”=>“12345(星期四)”。
我已尝试更改以下不起作用:
$SN[] = array( 'storenumber' => $EvalStoreNum, 'dayofweek' => $EvalStoreNum.' ('.$EvalDay.')');
$BCEvalsCompleted = array_intersect($SN['storenumber'], $outputBCStores);
$results = implode('<br>', $BCEvalsCompleted->$SN['dayofweek']);
不知道从这里去哪里。任何帮助将不胜感激。谢谢!
【问题讨论】:
-
$BCEvalsCompleted->$SN['dayofweek']是什么意思?->用于访问对象属性,但$BCEvalsCompleted是一个数组。
标签: php arrays if-statement foreach array-intersect