Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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数组select元素依赖于其他数组_Php_Arrays - Fatal编程技术网

php数组select元素依赖于其他数组

php数组select元素依赖于其他数组,php,arrays,Php,Arrays,我有一个像这样的数组,可以存储数周和数天 $daysNumber=array(1,2,3,4,5,6,7); $daysName = array('sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday','saturday'); 我需要把它转换成这样的名字 $daysNumber=array(1,2,3,4,5,6,7); $daysName = array('sunday', 'monday', 'tuesday',

我有一个像这样的数组,可以存储数周和数天

$daysNumber=array(1,2,3,4,5,6,7);
$daysName = array('sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday','saturday');
我需要把它转换成这样的名字

$daysNumber=array(1,2,3,4,5,6,7);
$daysName = array('sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday','saturday');
天数是动态的 用户选择它们,我得到数组,例如 1,3,4我想用日期名称替换每个数字,比如这个星期天、星期二、星期三

转换它的最佳选项是什么

您的数组$daysName已足够:

$daysName = array('sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday','saturday');
因为它是零索引的,所以它的索引与$daysNumber对应,即索引-1

因此,对于1,3,4,输出:

$daysName[0];  // 1 - 1
$daysName[2];  // 3 - 1
$daysName[3];  // 4 - 1
但如果您仍然需要,可以从1开始重新编制$daysName的索引:

$daysName = array(1 => 'sunday', 2 => 'monday', 3 => 'tuesday'); // etc
您可以删除$daysNumber变量,并将$daysName从0开始改为1

然后,您可以使用array\u key\u intersect和array\u 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
)
您可以使用数组\映射尝试日期

工作示例:-