Forskjell mellom enkelt sitat og dobbelt tilbud i php

Enkle sitater og dobbelte anførselstegn håndteres litt annerledes i PHP. Les videre for å se forskjellene i hvordan de vurderes.

Enkelt sitater

Enkle sitater har en tendens til å analysere ting i en mye mer bokstavelig forstand. Ta for eksempel følgende:

 $ test = "BOOOM"; ekko '$ test' 

Det variable navnet, når det legges inn i enkeltnotene, blir ikke analysert til den faktiske verdien. Her er det som faktisk skrives ut fra å kjøre dette som et enkelt php-program:

 $ test 

Det er bare 2 scenarier som jeg kan tenke på der informasjonen faktisk blir analysert i en enkelt sitert streng. Først, for å vise et enkelt sitert tegn, må det føres av en tilbakeslag. Ellers tolkes det som enden av strengen din. For det andre, for å vise en tilbakemelding, må den gå foran med en annen tilbakeslag. Eksempel:

 ekko 'enkelt sitat: \' '; ekko 'backslash: \\'; 

Double Quotes

Doble sitater har en tendens til å analysere ting for deg. Når du kjører mellom dobbelte anførselstegn:

 $ test = "BOOOM"; ekko "$ test" 

Den utsender den faktiske variable verdien:

 BOOOM 

Nå vil du av og til komme inn i et scenario der variabelenavnet du prøver å utføre, ikke skyldes å bli analysert på grunn av noen omkringliggende tegn.

 $ test = "BOOOM"; ekko "$ testet"; 

Hva tror du får utdata her? Svaret er ingenting. PHP ser etter en variabel kalt $ testet, og siden den ikke eksisterer, blir ingenting utgitt. Den riktige måten å utføre verdien etterfulgt av 'ed' ville være:

 $ test = "BOOOM"; ekko "{$ test} ed"; 

Ved å pakke det inn i de krøllete parentesene, lar det PHP vite hvor variabelen starter og stopper, slik at den kan evaluere variabelen ordentlig.

Hastighetsforskjell

Jeg løp noen enkle benchmarking tester for å evaluere noen forskjell scenarier, forskjellen i fart mellom de 2 er ubetydelig. Enkle sitater var hver så litt raskere på grunn av at det ikke trenger å se etter en variabel og deretter analysere verdien, men jeg har aldri møtt et scenario der det gjorde nok av en forskjell til sak. Bruk det som passer dine nåværende behov.

Se Også