• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

PHP w konsoli brak wskazania miejsca błędu: "Sorry, invalid command!"

Cloud VPS
+1 głos
341 wizyt
pytanie zadane 4 czerwca 2018 w PHP przez Maciej3206 Użytkownik (570 p.)
Witam,

uczę się aktualnie z kursu internetowego i wpisałem na swoim komputerze identyczny kod jak w kursie i po jego uruchomieniu w konsoli otrzymałem błąd: "Sorry, invalid command!". Proszę o informację, czy możliwe jest uzyskanie informacji o tym, w której linii kompilator napotkał na błąd.
komentarz 5 czerwca 2018 przez Mariusz08 Maniak (62,280 p.)
Pokaż kod
komentarz 5 czerwca 2018 przez Maciej3206 Użytkownik (570 p.)
//plik: index.php
<?php
define ('FILENAME', 'data.txt');
require_once 'functions.php';
	$data=array_fill (0, 3, null);
	$argv=array_replace ($data, $argv);	

list ($filename, $command, $content)=$argv;
switch ($command){
	case 'add':
		echo 'Add TODO';
		break;
	case 'remove':
		echo 'Remove TODO';
		break;
	case 'null':
		$tasks=readFromFile();
		foreach ($tasks as $number=>$task){
			echo ($number+1) . '|' . $task . PHP_EOL;
		}
		echo '------' . PHP_EOL . 'All tasks:' . count($tasks);
		break;
	default:
		echo 'Sorry, invalid command!';
		break;
}
echo PHP_EOL;
?>
//plik: functions.php
<?php
function readFromFile():array
{
	if (file_exists(FILENAME)){
	$data=file_get_contents(FILENAME);
		if ($data){
			return json_decode ($data,true);
		}
	}
	return [];
}
//plik: data.txt
["Task1","Task2","Task3"]

Uruchomiłem kod w przeglądarce (po uruchomieniu XAMPP) i otrzymałem trochę więcej informacjo błędzie:

"Notice: Undefined variable: argv in C:\xampp\htdocs\phpdevs\180519_todo\index.php on line 5

Warning: array_replace(): Argument #2 is not an array in C:\xampp\htdocs\phpdevs\180519_todo\index.php on line 5
Sorry, invalid command!" - zapis ten rozumiem, ale nie wiem co poprawić. Drugi argument dla funkcji array_replace jest tablicą - "$argv"? Dziękuję za pomoc

1 odpowiedź

0 głosów
odpowiedź 6 czerwca 2018 przez Mariusz08 Maniak (62,280 p.)
 
list ($filename, $command, $content)=$argv;

Musisz przenieść do linijki 5

Podobne pytania

0 głosów
1 odpowiedź 762 wizyt
pytanie zadane 14 sierpnia 2018 w SQL, bazy danych przez Grzegorz Mikina Dyskutant (8,060 p.)
+1 głos
3 odpowiedzi 304 wizyt
pytanie zadane 26 sierpnia 2015 w C i C++ przez Int_main Bywalec (2,850 p.)
0 głosów
1 odpowiedź 579 wizyt
pytanie zadane 15 maja 2020 w C i C++ przez Czarus Obywatel (1,310 p.)

93,466 zapytań

142,461 odpowiedzi

322,734 komentarzy

62,847 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...