我想在像这样的两个不同的数组中搜索一些数据;
$arr1[]=('2019-10-3', '2019-10-9', '2019-10-10', '2019-10-13', '2019-10-17', '2019-10-21',);另一个数组是这样的;
for($i=1;$i<31;$i++){ $arr2[]=date('Y').'-'.date('m').'-'.$i; }现在我想打印到屏幕上,如果$arr1数据在$arr2 '1‘order '0’中,按如下顺序排列
if($arr2['0']==$arr1[0]){echo '1' ;} else {echo '0'}
'2019-10-1' is not in $arr1 echo '0',
'2019-10-2' is not in $arr1 echo '0',
'2019-10-3' is in $arr1 echo '1',
'2019-10-4' is not in $arr1 echo '0',
'2019-10-5' is not in $arr1 echo '0',
'2019-10-6' is not in $arr1 echo '0',
'2019-10-7' is not in $arr1 echo '0',
'2019-10-8' is not in $arr1 echo '0',
'2019-10-9' is in $arr1 echo '1',
'2019-10-10' is in $arr1 echo '1',
'2019-10-11' is not in $arr1 echo '0',
....我使用这段代码,但它不像我想要的那样工作。1,1,1,1,1:İts只打印这个;
for($k=0;$k<5;$k++){
if(in_array($arr1[$k],$tar)){
echo '1,';
} else {
echo '0,';
}
}发布于 2019-10-06 14:07:17
这将是一个稍加改进的变体:
<?php
$arr1 = ['2019-10-3', '2019-10-9', '2019-10-10', '2019-10-13', '2019-10-17', '2019-10-21'];
$arr2 = [];
for($i = 1; $i < 31; $i++) {
$arr2[] = sprintf("%d-%d-%d", date('Y'), date('m'), $i);
}
$output = [];
for($k = 0; $k < 30; $k++) {
$output[] = in_array($arr2[$k], $arr1) ? '1' : '0';
}
echo implode(", ", $output);在这里,一个稍微慢一些但具有更好的可读性和健壮性的变体:
<?php
$arr1 = ['2019-10-3', '2019-10-9', '2019-10-10', '2019-10-13', '2019-10-17', '2019-10-21'];
$arr2 = [];
for($i=1;$i<31;$i++) {
$arr2[$i] = sprintf("%d-%d-%d", date('Y'), date('m'), $i);
}
$output = [];
foreach($arr2 as $val) {
$output[] = in_array($val, $arr1) ? '1' : '0';
}
echo implode(", ", $output);这两种变体的输出显然是:
0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0发布于 2019-10-06 13:49:38
你是说像这样?
<?php
$arr1=array ('2019-10-3', '2019-10-9', '2019-10-10', '2019-10-13', '2019-10-17', '2019-10-21');
for($i=1;$i<31;$i++)
{
$arr2[]=date('Y').'-'.date('m').'-'.$i;
}
for($k=0;$k<30;$k++){
if(in_array($arr2[$k],$arr1)){
echo '1,';
} else {
echo '0,';
}
}
?>
Output: 0,0,1,0,0,0,0,0,1,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0发布于 2019-10-06 15:36:58
在创建第二个数组时,只需测试它是否在数组1中。
$arr1 = ['2019-10-3', '2019-10-9', '2019-10-10', '2019-10-13', '2019-10-17', '2019-10-21'];
for($i=1;$i<31;$i++){
$date = date('Y').'-'.date('m').'-'.$i;
echo $date . ": ";
if(in_array($date, $arr1)){
echo "1\n";
}else{
echo "0\n";
}
}输出:
2019-10-1: 0
2019-10-2: 0
2019-10-3: 1
2019-10-4: 0
2019-10-5: 0
2019-10-6: 0
2019-10-7: 0
2019-10-8: 0
2019-10-9: 1
2019-10-10: 1
2019-10-11: 0
2019-10-12: 0
2019-10-13: 1
2019-10-14: 0
2019-10-15: 0
2019-10-16: 0
2019-10-17: 1
2019-10-18: 0
2019-10-19: 0
2019-10-20: 0
2019-10-21: 1
2019-10-22: 0
2019-10-23: 0
2019-10-24: 0
2019-10-25: 0
2019-10-26: 0
2019-10-27: 0
2019-10-28: 0
2019-10-29: 0
2019-10-30: 0https://stackoverflow.com/questions/58257694
复制相似问题