[英]php array select element depended on other array
我有一個像這樣的幾周的數組
$daysNumber=array(1,2,3,4,5,6,7);
我需要把它轉換成這樣的名字
$daysName = array('sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday','saturday');
天數是動態的
轉換它的最佳選擇是什么
您可以刪除$daysNumber
變量並將$daysName
從 1 而不是 0 開始。
然后你可以使用array_key_intersect()
和array_flip()
來提取你之后的日子......
$daysName = array( 1=> 'sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday','saturday');
$selected = [1,3,4];
print_r(array_intersect_key($daysName, array_flip($selected)));
給...
Array
(
[1] => sunday
[3] => tuesday
[4] => wednesday
)
您的數組$daysName
就足夠了:
$daysName = array('sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday','saturday');
由於它是零索引的,因此它的索引對應於您的$daysNumber
作為index - 1
。
所以對於1,3,4
你 output:
$daysName[0]; // 1 - 1
$daysName[2]; // 3 - 1
$daysName[3]; // 4 - 1
但是,如果您仍然需要,您可以從 1 開始重新索引您的$daysName
:
$daysName = array(1 => 'sunday', 2 => 'monday', 3 => 'tuesday'); // etc
您可以使用array_map
嘗試date
$alphaDays = array_map(function($d){
$d--;
return date('l', strtotime("Sunday + $d Days"));
}, $days);
print_r($alphaDays);
工作示例:- https://3v4l.org/aCDRh
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.