хорошо, я сейчас немного застрял.
В качестве задачи, которую мне дали, я должен сделать «звездный процессор» из данных, поступающих из файла cvs. Вот мой файл cvs
Number,Character,Order
5,*,0
4,*,1
3,*,2
2,*,3
1,*,4
2,*,5
3,*,6
4,*,7
5,-,8
Что я пытаюсь вывести —
*****
****
***
**
*
**
***
****
-----
Надеюсь, вы поняли идею
Вот что у меня есть сейчас —
$starsFile = fopen("stars.csv", "r");while (!feof($starsFile)) {
print_r (fgetcsv($starsFile, ","));
}fclose($starsFile);
это в основном просто возвращает данные CSV в массивах, что круто!
Я застрял в том, чтобы выяснить, как получить доступ к массиву, который создает fgetcsv? Есть ли другая структура данных, которую я могу использовать? и помощь или указатели будут оценены!
if (($starsFile = fopen("stars.csv", "r")) !== FALSE) {
while (($data = fgetcsv($starsFile, 1000, ",")) !== FALSE) {
// no. of times the symbol needs to be displayed
$num_symbol_display = (int)$data[0];
// the symbol to be displayed
$symbol = $data[1];
// logic to display the symbol
for ($i=1; $i<=$num_symbol_display; $i++){
echo $symbol;
}
echo "<br>";
}
fclose($starsFile);
}
Из исходного вопроса не ясно, что должно делать 3-е поле.
Попытайся:
$starsFile = fopen("stars.csv", "r");
while (!feof($starsFile)) {
$stars = fgetcsv($starsFile, ",");
print str_repeat($stars[1], intval($stars[0]))."\n";
}
fclose($starsFile);