Kmom01, feltypen parse

  • Författare
  • Meddelande

johanre

webbsurfare

  • Inlägg: 5
  • Blev medlem: 21 aug 2019, 21:01

Kmom01, feltypen parse

Inlägg30 aug 2019, 04:33

Jag försöker upprepa feltypen parse i avsnittet "Felmeddelanden från PHP" i "Grunder och struktur" för PHP på dbwebb men lyckas inte. Jag får fram felmeddelanden för övriga exempel men lyckas inte när jag skriver "echo "hej"", dvs struntar i att ta med ";". Inte heller när jag skippar ett andra argument i "round(3,1415, );".

Någon som förstår varför jag inte får ut felmeddelanden för dessa exempel?
Användarvisningsbild

Lew

dbwebb

  • Inlägg: 406
  • Blev medlem: 05 sep 2012, 13:42
  • Ort: Karlskrona

Re: Kmom01, feltypen parse

Inlägg30 aug 2019, 08:02

Hur ser din test-fil ut?

Jag provar med koden:

Kod: Markera allt
<?php
error_reporting(-1);              // Report all type of errors
ini_set("display_errors", 1);     // Display all errors
?>

<pre>
<?php
round(3,1415,  );
?>
</pre>


Det resulterar i felet Parse error: syntax error, unexpected ')'

Vad det gäller semikolon så behöver du göra någonting efter det uttrycket för att se felet:

Kod: Markera allt
<?php
error_reporting(-1);              // Report all type of errors
ini_set("display_errors", 1);     // Display all errors
?>

<pre>
<?php
echo "hej"
echo "hej igen";
?>
</pre>


Vilket resulterar i felet: Parse error: syntax error, unexpected 'echo' (T_ECHO), expecting ',' or ';'
When in doubt, use brute force.

johanre

webbsurfare

  • Inlägg: 5
  • Blev medlem: 21 aug 2019, 21:01

Re: Kmom01, feltypen parse

Inlägg30 aug 2019, 08:31

Tack!

Angående semikolon så funkar det som du beskriver. Jag trodde att man skulle få felmeddelande även när man lägger den raden sist i koden.

Min kod ser ut så här:

Kod: Markera allt
<?php
error_reporting(-1);              // Report all type of errors
ini_set("display_errors", 1);     // Display all errors
?>

<pre>
<?php
echo $unknown;
floor();
round(3,1415,  );
echo "Hej"

?>
</pre>
Användarvisningsbild

mos

dbwebb

  • Inlägg: 11180
  • Blev medlem: 10 nov 2011, 09:52
  • Ort: Ronneby / Bankeryd

Re: Kmom01, feltypen parse

Inlägg30 aug 2019, 09:27

Nu vet jag inte vilket felmeddelande du får, men eventuellt slutar PHP att parsa filen innan den kommer till den sista raden.

Det går (troligen) att utläsa från felutskrifterna.
...
..:
.... /mos

johanre

webbsurfare

  • Inlägg: 5
  • Blev medlem: 21 aug 2019, 21:01

Re: Kmom01, feltypen parse

Inlägg30 aug 2019, 09:33

Kruxet är att jag inte får något felmeddelande alls när jag skriver "round(3.1415, );", dvs jag skippar det andra argumentet. Jag gör två tryckningar med "space" bara. Jag borde väl få ett Parse error?
Användarvisningsbild

mos

dbwebb

  • Inlägg: 11180
  • Blev medlem: 10 nov 2011, 09:52
  • Ort: Ronneby / Bankeryd

Re: Kmom01, feltypen parse

Inlägg30 aug 2019, 09:44

Det är nog som det ska, koden fungerar och exekverar, trots ett kommatecken som är "stray" och inte borde vara där. Uppenbarligen betraktar PHP (den versionen som vi nu använder) det (round(3.14, )) som kod som går att exekvera.

Kod: Markera allt
<?php

error_reporting(-1);              // Report all type of errors
ini_set("display_errors", 1);     // Display all errors

echo round(3.14, );
...
..:
.... /mos

johanre

webbsurfare

  • Inlägg: 5
  • Blev medlem: 21 aug 2019, 21:01

Re: Kmom01, feltypen parse

Inlägg30 aug 2019, 10:55

Ok! Tack för hjälpen!

Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 33 gäster