我正在尝试使用 if 语句来比较两个数组值。我不是在比较索引。如果这些值相互匹配,那么我想从多维数组中打印出一个值。我尝试使用以下解决方案:
但是,这些示例并不能完全回答我的问题。我不需要生成一个新数组,我想循环遍历这些值,如果有匹配项,则将一个值回显到屏幕上。
请在下面查看我的代码,问题在“////////////////////////”标记下方:
<?php
$str ="";
// events array
$events = array( array("PokeMon", "Hall D" , "1:00 AM"),
array("Sonic the Hedgehog", "WorkShop 1" , "11:00 AM"),
array("Tasbura", "Video 3" , "2:00 PM"),
array("Sailor Moon ", "Panel 4" , "6:00 PM")
);
// location array
$row=array(
"Arena","Hall D","Video 1","Video 2","Video 3","Video 4","Video 5","Video 6","HD Theater",
"Panel 1","Panel 2","Panel 3","Panel 4","WorkShop 1","WorkShop 2","WorkShop 3","WorkShop 4",
"Autograph 1","Autograph 2"
);
// event start time array
$col=array(
"","9:00 AM","10:00 AM","11:00 AM","1:00 PM","2:00 PM","3:00 PM","4:00 PM","5:00 PM","6:00 PM",
"7:00 PM","8:00 PM","9:00 PM","10:00 PM","11:00 PM","12:00 AM","1:00 AM","2:00 AM",
);
// length of location and start time arrays
$rowLength=count($row);
$colLength=count($col);
$str .= "<table><tr><td bgcolor='green'><table border='1' bordercolor='black'><tr>";
for($i = 0; $i < $colLength; $i++){
$str .= "<td width='100' height='25' bgcolor='yellow'>";
$str .= $col[$i];
$str .= "</td>";
}
for ($j = 0; $j < $rowLength; $j++){
$str .= "<tr><td width='100' height='25' bgcolor='pink'>";
$str .= $row[$j];
$str .= "</td> ";
for ($k = 0; $k < $colLength-1; $k++){
$str .= "<td width='100' height='25' bgcolor=' #70DBDB'>";
//////////////////////Here is where I need to compare the arrays:
if( ($row[$j]==$events[$j][1]) && ($col[$k+1]==$events[$k+1][2])){
$str .= $events [$j][0];
///////////////////////////////////////////////////////////////////
}else{
$str .= " ";
}
$str .= "</td>";
}
$str .= " </tr>";
}
echo $str ."</table></td></tr></table>";
?>
这是我正在尝试创建的示例:http: //leobee.com/android/push/so/stdt2.php
以下是示例中的代码:
<?php
// Report simple running errors
error_reporting(E_ERROR | E_WARNING | E_PARSE);
// Reporting E_NOTICE can be good too (to report uninitialized
// variables or catch variable name misspellings ...)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
// Report all errors except E_NOTICE
// This is the default value set in php.ini
error_reporting(E_ALL ^ E_NOTICE);
// Report all PHP errors (see changelog)
error_reporting(E_ALL);
// Report all PHP errors
error_reporting(-1);
// Same as error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);
$str ="";
$row=array(
'Arena',"Hall D","Video 1","Video 2","Video 3","Video 4","Video 5","Video 6","HD Theater",
"Panel 1","Panel 2","Panel 3","Panel 4","WorkShop 1","WorkShop 2","WorkShop 3","WorkShop 4",
"Autograph 1","Autograph 2"
);
$col=array(
"","9:00 AM","10:00 AM","11:00 AM","1:00 PM","2:00 PM","3:00 PM","4:00 PM","5:00 PM","6:00 PM",
"7:00 PM","8:00 PM","9:00 PM","10:00 PM","11:00 PM","12:00 AM","1:00 AM","2:00 AM",
);
$rowLength=count($row);
$colLength=count($col);
//echo $rowLength." ".$colLength."<br>";
$str .= "<table><tr><td bgcolor='green'><table border='1' bordercolor='black'><tr>";
for($i = 0; $i < $colLength; $i++){
$str .= "<td width='100' height='25' bgcolor='yellow'>";
$str .= $col[$i];
$str .= "</td>";
}
for ($j = 0; $j < $rowLength; $j++){
$str .= "<tr><td width='100' height='25' bgcolor='pink'>";
$str .= $row[$j];
$str .= "</td> ";
for ($k = 0; $k < $colLength-1; $k++){
$str .= "<td width='100' height='25' bgcolor=' #70DBDB'>";
////////////////////////////////////////////////////////////////////////////
if( ($row[$j]=="Arena") && ($col[$k+1]=="9:00 AM")){
$str .= "Poketmon";
}else{
$str .= "";
}
///////////////////////////////////////////////////////////////////////////
$str .= "</td>";
}
$str .= " </tr>";
}
echo $str ."</table></td></tr></table>";
?>