Мысал. Айнымалы типтерін тексеру

<?php

$large_number = 2147483647;

var_dump($large_number); echo "<BR>";

// жауабы: int(2147483647)

$large_number = 2147483648;

var_dump($large_number); echo "<BR>";

// жауабы: float(2147483648)

// келесі он алтылық сандарға да сәйкес келеді:

var_dump(0x80000000); echo "<BR>";

// жауабы: float(2147483648)

$million = 1000000;

$large_number = 50000 * $million;

var_dump($large_number);

// жауабы: float(50000000000)

?>

Нәтижесі:

int(2147483647)
float(2147483648)
float(2147483648)
float(50000000000)

Тағы бір мысал келтірейік:

<?php

$a = 1234;

$b = -1.2e3;

$c = 0123; // сегіздік сан ондық жүйеде 83

$d = 0x1A; // он алтылық сан ондық жүйеде 26

echo "a = $a <br>";

echo "b = $b <br>";

echo "c = $c <br>";

echo "d = $d <br>";

?>

Нәтижесі:

a = 1234
b = -1200
c = 83
d = 26

7 Нақты сандар типі

Жылжымалы нүктелі нақты сандар ("float", "double" немесе "real") келесі синтаксистерді пайдалану арқылы бейнеленеді:

$a = 1.234; $b = 1.2e3; $c = 7E-10;

Float типті сандар компьютер платформасына байланысты болып келе­ді, бірақ оның максимал шамасы ~1.8e308, жалпы алғанда, 14 таңбалы ондық санға (яғни 64 биттік формат) сәйкес келеді.

5.8 - мысал. Сандарды экранға шығару

<?php

$a = 1234;

$b = -1.2e3;

$c = 0123; // сегіздік сан – ондық жүйеде 83

$d = 0x1A; // он алтылық сан – ондық жүйеде 26

echo "a = $a <br>";

echo "b = $b <br>";

echo "c = $c <br>";

echo "d = $d <br>";

?>

Нәтижесі:

a = 1234
b = -1200
c = 83
d = 26

8 Сөз тіркестері – тіркестік типтегі шамалар

Сөз тіркесі – бұл символдар тізбегі. РНР тілінде символ дегеніміз – бір байт көлеміндегі мәлімет, яғни ол әр түрлі 256 символдардан тұра алады. Бұл РНР тілі­нің Unicode жүйесін сүйемелдемейтінін білдіреді. РНР тілінде сөз тіркесінің ұзындығына шек қойылмайды, сондықтан олардың ұзындығы жайлы ойламай жұмыс істей беруге болады.

РНР тілінде сөз тіркесі 3 түрлі тәсілмен:

- жалқы тырнақша (апостроф) көмегімен;

- қос тырнақша көмегімен;

- heredoc-синтаксисі арқылы анықталады.

Сөз тіркесін анықтаудың ең қарапайым тәсілі – бұл оны ' апостроф немесе " қостырнақша ішіне алып жазу. Бұл екеуі арасындағы негізгі айырмашылық – қостырнақша ішіндегі айнымалы идентификаторының мәні шығарылады да, апостроф ішіндегі айнымалы идентификаторының аты шығарылады. Мысалы, мына екі жол нәтижесі бірдей:

$food = " et ";

$food = 'et';

Ал келесі екі жол арасында айырмашылықтар бар:

$tagam1 = " Менің жақсы көретінім – $food ";

$tagam2 = 'Менің жақсы көретінім – $food';

Алғашқы жолмынадай мнәтиже береді:

Менің жақсы көретінім – еt

Ал келесі жолнәтижесі:

Менің жақсы көретінім – $food

РНР тілінде кері слэш таңбасынан басталатын JavaScript тіліндегідей басқару комбинациялары да қолданылады. Олар:

Символдар тіркесі Мағынасы
\n Жаңа жолға көшу
\r Курсорды жол басына көшіру
\t Горизонталь табуляция
\\ Кері қиғаш сызық белгісі
\$ Доллар белгісі
\" қос тырнақша белгісі

Қостырнақша ішінде бұлар мағынасына сәйкес басқару символдары болады да, ал апостроф ішінде тек "\" және "\\" тізбегі ғана өңделеді.

Сөз тіркесін анықтаудың ең қарапайым тәсілі – бұл оны ' жалқы тырнақша ішіне алу. Ал сол сөз тіркесі ішінде жалқы тырнақшаны пайдалану үшін, С тіліндегі тәрізді, оның алдына кері қиғаш сызықша (слэш) таңбасын «\» қою керек, яғни оны экрандау қажет. Егер кері сызықша жалқы тырнақшаның алдында немесе сөз тіркесінің соңында тұруы керек болса, онда ол қайталанып жазылуы тиіс «\\».

Егер жалқы тырнақша ішіндегі сөз тіркесінде кез келген басқа таңбалар алдында кері слэш «\» кездессе, онда ол қарапайым символ сияқты анықталады және өзгеріссіз шығарылады. Сондықтан кері слэш таңбасын тек ол сөз тіркесінің соңында, яғни жабылатын тырнақша алдында тұрғанда ғана экрандау керек.

РНР тілінде кері слэш таңбасынан басталатын басқару комбинациялары апострофтар ішінде кездескенімен өңделмейді.

5.9- мысал. Басқару тізбектерін пайдалану

<?phpecho ' Жаңа жолға көшу белгісі – <br&gt<br>';// Келесі жол: ' таңбасын шығару үшін оның алдына \ қою керек сөзі echo "' \' таңбасын шығару үшін оның алдына '\\' қою керек ";// Келесі жол: C:\*.*? тіркесін өшіргіңіз келе ме? сөзі echo '<br> C:\*.*? тіркесін өшіргіңіз келе ме?';// Келесі жол: \n таңбасы жаңа жолға көшірмейді сөзі echo '<br> \n таңбасы жаңа жолға көшірмейді';// Келесі жол: $expand және $either мәндері қойылмайды сөзі echo '<br> $expand және $either '. 'мәндері қойылмайды '?> Нәтижесі:

Жаңа жолға көшу белгісі. – <br>

' \' таңбасын шығару үшін оның алдына '\' қою керек

C:\*.*? тіркесін өшіргіңіз келе ме?

\n таңбасы жаңа жолға көшірмейді

$expand және $either мәндері қойылмайды

Нeredoc-синтаксисін қолдану

Сөз тіркесін анықтаудың басқа бір тәсілі – бұл heredoc-синтаксисін пайдалану. Мұнда сөз тіркесі <<< символдарынан басталып, осыдан кейін идентификатор тұрады.

Сөз тіркесі аяқталарда да осы идентификатор қайта жазылады. Жабылатын идентификатор осы жолдағы бірінші сөз болуы қажет. Идентификатор РНР тіліндегі басқа атаулар сияқты жазылуы тиіс: тек әріптерден басталып, сандар мен әріптер (астын сызу таңбасынан да) тізбегінен тұрады.

Heredoc-мәтін тура қос тырнақша ішіндегі сөз тіркесі сияқты болады, бірақ қостырнақшаны жазу қажет емес. Сол себепті тырнақшаны экрандау да керек емес. Бірақ мұнда да жоғарыда айтылған басқару тізбектерін пайдалануға болады. Heredoc тізбегі ішінде тұрған айнымалы мәні де шығарылады.

5.10- мысал. Нeredoc-синтаксисін пайдалану

<?php

$str = <<<BUL

РНР тілінде heredoc-синтаксисті пайдаланып

бірнеше жолға сөз тіркесін жазу тәсілі

осындай болады

BUL;

// Мұндағы идентификатор-BUL.Ал ендігі идентификатор–OL

$name = "Бекзат";

$name2 = "Азат";

echo <<<OL

Бала аты – "$name", ал екінші бала аты – "$name2".

OL;

// Экран: Бала аты – "Бекзат", ал екінші бала аты – "Азат".

?>

Сөз тіркестерін түрлендіру

Егер сөз тіркесі ретінде сандық мән көрсетілсе, онда нәтиже мен оның типі келесі ережелер бойынша анықталады:

Сөз тіркесіндегі сан құрамында. (нүкте), е немесе Е символдары болса, онда ол екі еселенген дәлдіктегі сан болып саналады. Мұндай символдар болмаса, ол бүтін сан болып табылады.

Басқаша жағдайларда сан мәні сөз тіркесінің бастапқы бөлігі бойынша анықталады. Егер сөз тіркесі сандық мәліметтен басталса, онда олар санның мәні ретінде пайдаланылады. Кері жағдайда санның мәні нөлге тең болады. «Е», «е» символдары сан құрамындағы экспонентаны білдіреді, яғни сан 10-ның белгілі бір дәрежесіне көбейтілетінін көрсетеді.

5.11- мысал. Сандардың типін шығару

<?php

echo "Сөз тіркестерін түрлендіру <br>";

echo "---------------------------------------- <br>";

$f = 1 + "10.5"; //$f екі еселенген дәлдікте (11.5)

echo "\$f = $f; типі ".gettype($f).'<br>';

$f = 1 + "-1.3e3"; //$f екі еселенген дәлдікте (-1299)

echo "\$f = $f; типі ".gettype($f)."<br>"; //gettype() типті береді

$f = 1 + "bob-1.3e3"; //$f бүтін (1)

echo "\$f = $f; типі ".gettype($f)."<br>";

$f = 1 + "bob3"; //$f бүтін (1)

echo "\$f = $f; типі ".gettype($f)."<br>";

$f = 1 + "10 chislo"; //$f бүтін (11)

echo "\$f = $f; типі ".gettype($f)."<br>";

$f = "10.0 chislo " + 1; //$f екі еселенген дәлдікте (11)

echo "\$f = $f; типі ".gettype($f)."<br>";

$f = "10.0 chislo" + 1.0; //$f екі еселенген дәлдікте (11)

echo "\$f = $f; типі ".gettype($f)."<br>";

?>

Осы скрипттің нәтижесі келесідей түрде болады:

Сөз тіркестерін түрлендіру
-------------------------------------
$f = 11.5; типі double
$f = -1299; типі double
$f = 1; типі integer
$f = 1; типі integer
$f = 11; типі integer
$f = 11; типі double
$f = 11; типі double

Сөз тіркестеріне тағы бір мысал келтірейік.

5.12- мысал. Құрамында функциялар бар сөз тіркестері

<?php

echo "Сөз тіркестері мысалы <br>";

echo "---------------------------------- <br>";

echo "Менің атым Бақыт <br>"; // С++ стиліндегі комментарий

echo "Менің тегім Бөрібаев <br>"; /* С стиліндегі комментарий,

ол бірнеше жолдан тұратын комментарий */

echo "Hello, Бақыт!<br>";

echo "Компьютерде орнатылған РНР нұсқасы:". phpversion();

// РНР нұсқасын беру функциясы

echo("<br> Бүгін: ".date("d.m.Y H:i:s"));

$imia='Азат';

$godRogd=1990;

echo "<br>$imia $godRogd жылы туылған";

//Массивтермен (жиымдармен) жұмыс істеу

$man=array('Айым',1991);

echo "<br>{$man[0]} біздің топтан {$man[1]} жылы туылған <br><br>";

$str = <<<T15

Бұл жерде бірнеше жолдан тұратын мәтін болуы мүмкін.

Оның қалай жазылғанына назар аудару қажет.

Мұның басында 3 "<" белгісінен кейін 'T15' идентификаторы тұруы керек және мәтіннің соңынан кейінгі жолдың басында нүктелі үтірмен аяқталатын тағы да T15 орналасады. <br>

T15;

echo $str;

// Ары қарай РНР нұсқасы туралы жүйелік ақпарат шығады

echo ("РНР орнатылған нұсқасы туралы жүйелік ақпарат:");

phpinfo();

?>

Нәтижесі:

Сөз тіркестері мысалы

--------------------------

Менің атым Бақыт

Менің тегім Бөрібаев

Hello, Бақыт!

Компьютерде орнатылған РНР нұсқасы:5.3.1

Бүгін: 19.06.2011 14:47:42

Азат 1990 жылы туылған

Айым біздің топтан 1991 жылы туылған

Бұл жерде бірнеше жолдан тұратын мәтін болуы мүмкін. Оның қалай жазылғанына назар аудару қажет. Мұның басында 3 "<" белгісінен кейін 'T15' идентификаторы тұруы керек және мәтіннің соңынан кейінгі жолдың басында нүктелі үтірмен аяқталатын тағы да T15 орналасады.

РНР орнатылған нұсқасы туралы жүйелік ақпарат:

Мұның төменгі жағында РНР тілінің нұсқасы, қай жылы шыққаны, архитекту­ра­сы, т.б. жайлы ақпарат берілген көлемді суреттік мәлімет шығады.

5.13-мысал. Құрамында айнымалылар бар сөз тіркесі

<?php

echo "Сөз тіркестерімен мысал <br>";

echo "------------------------------------------- <br>";

$str = " сөз тіркесі";

echo $str, "<br>";

// Оған.– нүкте арқылы сөз тіркесінің қосылуы

$str = " Бұл қосымша мәтінмен". $str;

echo $str, "<br>";

$str.= " және сөз тіркесінің соңын тасымалдау.<br>";

echo $str;

$num=9;

$str = "Сан: $num <br><br>";

echo $str;

$str = "Сөз тіркесі: ";

$str.= 'Бұл мәтін.<br>';

echo $str;

$first=$str[0]; //сөз тіркесінің алғашқы символын алу "С"

echo "Сөз тіркесінің бірінші символы: $first <br><br>";

$str = 'Бұл да мәтін.';

echo "Сөз тіркесі: $str";

$last=$str[strlen($str)-1]; //сонғы символды алу"."

echo "<br>сөз тіркесінің соңғы символы: $last";

?>

Программа нәтижесі:

Сөз тіркестерімен мысал
-------------------------------------------
сөз тіркесі
Бұл қосымша мәтінмен сөз тіркесі
Бұл қосымша мәтінмен сөз тіркесі және сөз тіркесінің соңын тасымалдау.
Сан: 9

Сөз тіркесі: Бұл мәтін.
Сөз тіркесінің бірінші символы: С

Сөз тіркесі: Бұл да мәтін.
Сөз тіркесінің соңғы символы:.

9 Array типі және жиымдарды пайдалану

Жиымдармен жұмыс істеуге арналған бірсыпыра мүмкіндіктер бар. Жиым индексі тік (квадрат) жақшаның ішіне жазылады. Мысалы, құрамында төмендегідей сөз тіркестері бар жиымнан мысал келтірейік: компьютер, интернет, модем, монитор. Индекс нөлден басталады. Мысалы:

$m[0]= “компьютер”;

$m[1]= “интернет”;

$m[2]= “модем”;

$m[3]= “монитор”;

Бұл жерде жиым элементтері саны 4-ке тең, бірақта соңғы толтырылған индекс мәні 3-ке тең болады. Ең соңғы элемент $m[4]= “ ”;

Жиымның барлық элементтерін экранға шығаратын программа құрастырайық:

$i=0; while ($i<count($m)) {echo $m[$i].”<br>”; $i++}

Мұндағы count($m) функциясы жиым элементтерінің санын білдіреді. РНР тілінде жиыммен жұмыс істейтін көптеген функциялар бар.

Жиымды анықтау үшін array () конструкциясы беріледі немесе оның элементтеріне тұрақты мән беру арқылы да анықтауға болады. Мысалы:

array ([key] => value, [key1] => value1,...)

Array() конструкциясы параметр ретінде үтірмен бөлініп, қос-қостан жұпталған кілт => мән тізбегінқабылдайды. => символдары мәнмен оның кілті (индексі) арасында сәйкестік орнатады. Кілт, яғни жиым индексі бүтін санмен де, cөз тіркесімен де беріле береді, ал оның мәні РНР тіліндегі кез келген типтегі шама бола алады. Жиымның сан түрінде берілген кілті индекс деп аталады. РНР тілінде жиымды индекстеу нөлден басталады. Жиым элементінің мәнін жиым атынан соң тік жақшаға алынған оның кілтін (индексін) көрсету арқылы алуға болады. Егер жиым кілті ретінде стандартты түрде жазылған бүтін сан көрсетілсе, онда ол сандық индекс болып табылады, басқаша жағдайларда – сөз тіркесі болады. Сондықтан $a["1"] мен $a[1] тіркестері және $a["-1"] мен $a[-1] тіркестерібірдей болып саналады.

1 мысал. PHP тіліндегі жиымдар

<?php

$books = array ("php" => "PHP users guide",

12 => true);

echo $books["php"]; // "PHP users guide" шығады

echo $books[12]; // бір шығады

?>

Іші бос тік жақшаны пайдаланғанда, ең үлкен мәнді кілт соңғы қайта индекстеу кезінен бергі жиым кілттері арасынан ізделеді. Жиымды қайта индекстеу array_values () функциясы арқылы жүргізіледі.

5.14- мысал. Жиымды қайта индекстеу

<?php

$arr = array ("a","b","c"); /* мәндері "a", "b" және "c"

болатын жиым құрамыз. Кілттері көрсетілмегендіктен олар

сәйкесінше 0, 1, 2 болады */

print_r($arr); // жиымды шығарамыз (кілттерін де, мәндерін де)

unset($arr[0]); unset($arr[1]); unset($arr[2]);

// оның барлық мәндерін өшіреміз

echo "<br>";

print_r($arr); // жиымды шығарамыз (кілттері мен мәндерін)

$arr[] = "aa"; /* жиымға жаңа элемент қосамыз. Оны индексі (кілті) 0

емес 3 болады */

print_r($arr);

echo "<br>";

$arr = array_values($arr); // жиымды қайта индекстейміз

$arr[] = "bb"; // бұл элементтің кілті 1 болады

print_r($arr);

?>

Осы скрипт жұмысының нәтижесі мынадай болады:

Array ([0] => a [1] => b[2] => c)


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: