Im пытается сделать таблицу состоящей из какого-то кинотеатра с A [1-20] до J [1-20]. У меня есть текстовый файл, который содержит место, зарезервированные, как это:Explode concatenate string из текстового файла с новой строкой, PHP
A2;
A1;
A3;
A7;
если место зарезервировано, то BGCOLOR таблицы должно быть красным цветом. Это полный код:
<?php
$file = fopen($path,"r") or exit("cant open file");
$seat="";
while(!feof($file))
{
$seat.= fgets($file);
}
$seat_splitted = explode(";",$seat);
fclose($file);
$arrTable[]="";
$letter="";
$tableContent="";
for($i = 0,$counter=0;$i<10;$i++,$counter++)
{
if($i==0)
$letter="A";
else if($i==1)
$letter="B";
else if($i==2)
$letter="C";
else if($i==3)
$letter="D";
else if($i==4)
$letter="E";
else if($i==5)
$letter="F";
else if($i==6)
$letter="G";
else if($i==7)
$letter="H";
else if($i==8)
$letter="I";
else if($i==9)
$letter="J";
?>
<tr>
<?php
for($j = 1;$j<21;$j++)
{
$arrTable[$counter]= $letter.$j;
foreach($seat_splitted as $value)
{
if(strcmp($value,$arrTable[$counter])==0)
//if($value == $letter.$j)
{
$GLOBALS['color']="red";
break;
}
else
$GLOBALS['color']="white";
}
?>
<td bgcolor="<?php echo $GLOBALS['color']; ?>"> <?php echo $arrTable[$counter]?> </td>
<?php
$counter++;
}
?>
</tr>
<?php
}
?>
Я не знаю, почему, когда if(strcmp($value,$arrTable[$counter])==0)
или //if($value == $letter.$j)
, его только поймать первое место, которое «A2». Но когда я изменяю txt-файл на это:
A2;A1;A3;A7;
IF может их поймать. Неправильно ли конкатенировать строку так? $seat.= fgets($file);
. Что я могу сделать, чтобы он работал с первым txt-файлом? Извините за мой плохой английский.
Пожалуйста, включите ваш текущий выход и ваш ожидаемый выход! (Если он слишком велик, просто сделайте небольшой пример, чтобы мы увидели, что вы хотите и что у вас есть сейчас) – Rizier123
'$ seat_splitted = file ($ path, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES) или выйти (« can not open file »); array_walk ($ seat_splitted, function ($ seat) {$ seat = trim (seat, ';');}); ' –
FYI: вы можете принять ответ, который помог вам больше всего и решить вашу проблему (http: // meta .stackexchange.com/q/5234)! – Rizier123