31
Бұл скриптте серверден date(“H”) функциясы арқылы ағымдық сағат
уақытының мәнін аламызда, оған талдау жүргземз. Алынған мән қай аралықта
орналасқанына байланысты сәйкес сөздерді экранға шығарамыз. Егер
бағдарлама кодына назар аударатын болсақ, онда сағат белдеуінсіз және сәйкес
уақыт аралығынсыз тек сервер уақыты ғана алынып тұрғанын көремз.
Сондықтан уақыт аралығын бағдарламаға алдын-ала енгзуімізқажет. Оған
мысал ретнде келес код бола алады:
$time = date(“H:i”);
$time1 = date(“H”);
$time2 = date(“i”);
$time_s = 7;
$time1 = $time1+ $time_s;
if ($time1 >= 24) { $time1 = $time1 – 24; }
$time = “$time1: $time2”;
Бірінші қатарда ағымдық уақытты алу сервердің сағат белдеуі бойынша
іске асырылады. Ары қарай түрлі дұрыс уақыт белдеуі бойынша бағдарлама өзі
есептейді. $time_s айнымалысындаөз уақыт аралығы сақталады.
Массивтер
Массив дегеніміз – сандар немесе белгілерқатары және олардың басқа
айнымалылар секілді өз аты мен мәндері болады. Бірақ одан да басқа олардың
индекстері болады. PHP-де массив былайша өрнектеледі: $массив_аты[индекс].
Мысалы:
$a[0] = 1;
$a[1] = 12244;
$a[2]=0 “example”;
?>
Бұл мысалдың нәтижеснде $a массиві құрылып, оның 0,1 және 2
ұяшықтарына 1, 12244 және example мәндері тағайындалады. Енді echo $a[2]
командасын берсек онда экранға example сөзі шығады.
Біз қарастырған массив бірөлшемді, одан басқа көп өлшемді массивтерде
бар.
Массив ұяшықтарымен кез-келген операциялар жасауға болады:
арифметикалық, логикалық амалдар қолдану, салыстыру операциялары,
арттыру, азайту және т.б.
PHP-дің басқа бағдарламалау тілдерінен ерекшелігі мұнда бүтіндей
файлды массив ретінде алуға болады және бұл мүмкіншілік көптеген қызықты
амалдар қолдануға жол ашады. Оның форматы:
$a = file(“файл_аты”);
?>
32
Бұл команданың нәтижесінде $a массивінде файл мазмұны болады.
Әр массивтің ағымдық элементі анықтайтын ішкі көрсеткіштері болады.
Массивпен жұмыс басының кезінде ішкі массив көрсеткіші бірінші элементте
орналасады. end(), next(), prev(), және reset() функциялары массивтің ішкі
көрсеткішінің орнын ауыстырады.
end( ) функциясы массив ішкі көрсеткішін соңғы элементке орнатады.
next() функциясы массив ішкі көрсеткішін бір элемент алға жылжытады. prev()
функциясы массив ішкі көрсеткішін бір элемент артқа жылжытады. reset()
функциясы массив ішкі көрсеткішін бірінші элементке орнатады. current()
функциясы массив ішкі көрсеткіші тұрған массив элементін шығарады. sort()
функциясы массивті өсу реті бойынша сұрыптайды. rsort() функциясы массивті
кему реті бойынша сұрыптайды. Мұнан басқа PHP-де массивтермен жұмыс
істеу үшін көптеген арнайы функция түрлері бар.
Қатарлармен жұмыс
Қатар дегеніміз – символдар тізбегі. Сондай-ақ сандарда әріптермен тең
дәрежеде қатар ретінде теңесе алады. Қатар тек символдан немесе тіпті бос
болуы мүмкін. Қатармен жұмыс әр уақытта оны енгізуден басталады. Ең
қарапайымы қажет қатарды бір айнымалыға тағайындау. Оны жасаудың түрлері
өте көп: файлдан оқу, массивтен немесе формадан таңдап алу, т.с.с. Бізге тек
алынған қатармен не жұмыс жасауымыз керек, соны білсек оның жолы көп.
Мысалы: Бірнеше қатарды жалғастыру қажет болсын:
$str = “сәлем”;
$sto = “хат”;
$qwer = “!”;
$mir = $str.” “.$sto;
echo $mir.$qwer;
?>
Скрипт жұмысының нәтижесінде бірнеше бөліктен құралған “сәлем хат!”
сөзі экранға шығады. Қатарлармен арифметикалық амалдар қолдануға
болмайды. Ол үшін айнымалыларды алдын-ала анықтап алу керек. Егер қатар
файлдан оқылып немесе формадан оқылып жатса онда қатар өңделуге тиіс
болады. Ол үшін алдымен орындалатын амал қайталанатын бос аралықтарды
жою – chop(str).
Мысалы:
$str = chop($str);
нәтижеде $str қатарында қайталанатын бос аралықтар болмайды.
trim(str) функциясы қатардың басындағы және соңындағы бос
аралықтарды жояды. Мысалы: $str = trim($str); ltrim(str) функциясы қатардың
33
басындағы бос аралықтарды ғана жояды. Мысалы: $str =ltrim($str); ucfirst()
функциясы қатардың басындағы символды бас әріп қылады. ucwords (str)
функциясы қатардың ішіндегі барлық сөздің бірінші әрібін бас әріп қылады.
Кейде қатарларды бір шаблонмен салыстыру мәселесі жиі кездеседі.
Соның ішінде қатардан іздеу болып табылады. Бірақ енгізілген қатар немесе
файлдан алынған қатар дұрыс болмауы мүмкін, себебі, қатарда артық бос
аралықтар сөздің арасында кездесуі мүмкін немесе кейбір әріптер бас әріппен
(кіші әріппен) жазылуы мүмкін. Бұл мәселені шешу үшін strtolower (str)
(қатарды кіші әріпке ауыстырады) және strtoupper (str); (қатарды үлкен әріпке
ауыстырады) функциялары арқылы шешуге болады.
Қатарлармен жұмыс кезінде тағы да көп кездесетін қатарларды кесіп алу
операциясы. Ол берілгенді енгізуде, форманы өңдегенде көп қолданылады.
Формадағы енгізу ұяшығына енгізілетін қатар санын шектеу үшін форманың
өзінде HTML код арқылы шектеу қою керек:
.
Бұл жерде формада енгізу ұяшығына тек 100 символ ғана сияды.
Бірақ бұл шектеу толыққанды емес, себебі оны айналып өту қиын емес.
Сол үшін сайтқа кірушіге шектеу шегін көрсетіп қою керек. Мұндай айналып
өтуді келесі жолдар арқылы іске асырады. Тура біздікіндей WEB бетін жасап
100 санын өзіне керек санға ауыстырады да өз компьютеріне HTML
кеңейтілуімен сақтап оны өз компьютерінен жүктейді. Ал серверге ақпарат
қайдан алынса да бәрібір болғандықтан мұндай ауыстыруды ол кәдімгідей
қабылдайды да, алынған ақпаратты өңдейді. Мұндай жағдайды болдырмау
үшін өңдеушіге енгізу амалы қай жерден жүріп жатқандығын және алынған
ақпараттың өлшемін тексерту қажет. Ол үшін substring(string, start, length) PHP
функциясын қолдану керек.
Мысалы:
$form = substr($form, 0, 99).
Бұл арқылы біз 100 символдан асатын қатардың бір бөлігін ғана кесіп
аламыз. Осылайша біздің сайтымызға кірушілер жалған ақпарат бере алмай
қалады. Себебі біздің жазған скрипт кірушілерге ондай мүмкіндік бермейді.
substr функциясының қызметі start (бастапқы), length (ұзындығы)
параметрлері арқылы string қатарының бөлігін береді. Егер start параметрі оң
болса, онда шығатын қатар string қатарының start позициясында тұрған
символдан басталады.
Мысалы:
$form = substr(“abcdef”, 1) ............. // нәтижесі “bcdef”
$form = substr(“abcdef”, 1, 3) ........... // нәтижесі “bcd”
Егер start параметрі теріс болса, онда шығатын қатар string қатарының