簡體   English   中英

php 數組 select 元素依賴於其他數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM