158 PHP i MySQL dla każdego
Zmienna liczba = Sliczba, a zmienna ciąg = Sciag.
101:
echoCZmienna strl (składnia ze znakami cudzysłowu):<br>”):
echo(Sstrl):
echo("<br><br>"):
echoCZmienna str2 (składnia ze znakami apostrofu) :<br>"): echo(Sstr2); echo("<br><br>"):
echoCZmienna str3 (składnia heredoc):<br>"):
echo($str3);
echo("<brxbr>”):
?>
</body>
</html>
Rysunek 6.1.
Różne sposoby umieszczenia w skrypcie łańcuchów znakowych
Ętk Łdycja Widok Przejdź JaWadki Narzędzia Pomoc
Ś r ~ T~^oS:/mdax.php 3
^ Rozpocznij przygód... O Aktualności
Zmienna strl (składnia ze znakami cudzysłowu):
Zmienna liczba = 100, a zmienna ciąg = abcd.
Zmienna str2 (składnia ze znakami apostrofu):
Zmienna liczba = Sliczba, a zmienna ciąg = Sciag.
Zmienna str3 (składnia heredoc):
Zmienna liczba = 100, a zmienna ciąg = abcd.
Pracując z łańcuchami znakowymi należy zwrócić uwagę na wykorzystanie operatorów . i +. Otóż pierwszy z nich (kropka) jest operatorem łączenia ciągów, natomiast drugi (plus) to arytmetyczny operator dodawania. Częstym błędem, szczególnie wśród osób, które programowały w innych językach programowania, jest próba wykorzystania operatora + do łączenia łańcuchów. Próba takiej operacji zakończy się niepowodzeniem. Jeśli wykonamy następujący kod:
Sstrl - "abc":
Sstr2 = “def":
$str3 = Sstrl + $str2:
zmienna str3 będzie zawierała wartość 0. Co więcej, będzie ona typu integer. Dlaczego? Otóż operator + działa na argumentach arytmetycznych, a zmienne strl i str2 są typu string, a zatem przed wykonaniem dodawania nastąpi konwersja argumentów na typ arytmetyczny. Ponieważ ani łańcuch abc ani def nie zawierają ciągu, który reprezentowały prawidłową wartość liczbową, oba zostaną skonwertowane na typ integer o wartości 0. Wynikiem dodawania 0 + 0 jest oczywiście 0 i ta wartość jest przypisywana zmiennej str3. Zauważmy również, że jeśli dodawane ciągi będą się układały w prawidłowe wartości liczbowe, operator + wykona dodawanie arytmetyczne, podczas