PHP3: STRING AND ARRAYS€¦ · php3: string and arrays written by thapanapong rukkanchanunt....

Preview:

Citation preview

PHP3: STRING AND ARRAYS

WRITTEN BY THAPANAPONG RUKKANCHANUNT

STRING MANIPULATION

•ในบทเรยนนเราจะมารจกฟงกชนทเกยวกบขอมลชนดทเปนขอความ

HOW LONG IS A STRING?

•เราสามารถหาความยาวของขอความไดดวยฟงกชน strlen()

echo strlen(“Hello World!”); // 12

echo strlen(“/$”); // 1

•สงเกตวาชองวางกนบเปนหนงตวอกษร สวนตวอกษรพเศษทม backslash

น าหนาจะนบเปนแคตวอกษรเดยว

•ส าหรบตวอกษรในภาษาอน อาจจะนบเปนหลายตวอกษรได เชน strlen(“

ฉนกนขาว”) จะไดคาเปน 30

HOW MANY WORDS ARE IN STRING?

•เราสามารถนบจ านวนค าทอยในขอความไดโดยใชฟงกชน str_word_count()

echo str_word_count("Hello World!"); // 2

REVERSE A STRING

•เราสามารถกลบดานขอความไดโดยใชฟงกชน strrev()

echo strrev("Hello World!"); // !dlroW olleH

IS IT IN A STRING?

•เราสามารถหาต าแหนงขอความยอยจากขอความหลกไดโดยใชฟงกชน strpos() โดยถาหากเจอขอความยอยจะสงคากลบมาเปนต าแหนงแรกท

เจอ แตถาหากไมเจอขอความยอยนนจะสงคากลบมาเปน False

strpos(“Hello World!”, “W”); // 6

strpos(“Hello World!”, “w”); // False

strpos(“Hello World!”, “H”); // 0

CHANGE INSIDE STRING

•เราสามารถแทนค าในขอความเปนค าใหมไดโดยใชฟงกชน str_replace()

echo str_replace(“World”, “Dobby”, “Hello World!”); // Hello Dobby!

echo str_replace(“ana”, “na”, “banana”); // bnana

CUT A STRING

•เราสามารถตดขอความเฉพาะสวนทตองการไดโดยใชค าสง substr()

echo substr(“Hello World!”, 10); // d!

echo substr(“Hello World!”, 1, 8); // ello Wor

echo substr(“Hello World!”, -4); // rld!

echo substr(“Hello World!”, -10, -2); // llo Worl

MORE STRING FUNCTIONS

•http://php.net/manual/en/ref.strings.php

WHAT ARE ARRAYS?

•จากแลปกอน ๆ เราไดเรยนรวาตวแปรสามารถเกบคาไดหลากหลาย เชน จ านวนเตม จ านวนทศนยม ขอความ และคาความจรง

•ในแลปนเราจะเรยนรตวแปรอกแบบหนงทเรยกวา Array

•Array คอ คอนดบระหวาง Key กบ Value

HOW ARRAYS ARE CREATED

•เราสามารถสรางตวแปรทเปน Array ไดโดยใชฟงกชน array()

•$array1 = array(); // สราง Array ทไมมสมาชก

•$array2 = array(“a” => “ant”, “b” => “bird); // สราง Array ทม Key

เปน a และ b และ Value เปน ant และ bird ตามล าดบ

•Key สามารถเปนไดสองแบบเทานนคอจ านวนเตมและขอความ สวน

Value เปนขอมลประเภทใดกได

HOW TO ACCESS ARRAY ELEMENT

•เราสามารถอางอง Value ใน Array โดยใช Key

$array = array(“a” => “ant”, “b” => “bird);

echo $array[“a”]; // ant

echo $array[“b”]; // bird

PRINT ARRAY (NOT RECOMMENDED)

•เราสามารถพมพคาทอยใน Array ทงหมดมาไดโดยใชฟงกชน print_r()

$array = array(“a” => “ant”, “b” => “bird);

print_r($array);

Array

(

[“a”] => “ant”

[“b”] => “bird”

)

HOW TO ADD ELEMENT

•นอกจากการก าหนดคา Key Value ของ Array ตงแตตอนประกาศครงแรก

แลว เราสามารถเพมคา Key Value ไดโดยใชการเครองหมายเทากบ

$array = array();

echo $array[1]; // ERROR

$array[1] = “one”;

echo $array[1]; // one

HOW TO REMOVE ELEMENT

•เราสามารถลบ Key Value ออกจาก Array ไดโดยใชฟงกชน unset()

$array = array(1 => “one”);

echo $array[1]; // one

unset($array[1]);

echo $array[1]; // ERROR

HOW TO COUNT ELEMENT

•ในกรณทเราไมรวา Array ม Key Value ทงหมดกค เราสามารถใชฟงกชน

count() เพอชวยในการนบได

$array = array(“a” => “ant”, “b” => “bird”);

echo count($array); // 2

ARRAY WITHOUT KEYS

•ในบางโอกาสเราจะใชวธการประกาศ Array แบบยอโดยใชแค Value สวน

Key นนภาษา PHP จะสรางใหเองเปนจ านวนเตมเรมตนท 0

$array = array(“apple”, ”banana”, “orange”);

echo $array[0]; // apple

echo $array[1]; // banana

CHECK KEY/VALUE

•เราสามารถตรวจสอบไดวา Array ม Key หรอ Value ทเราสนใจหรอไม

$array = array(“apple”, ”banana”, “orange”);

array_key_exists(1, $array); // True

array_key_exists(3, $array); // False

in_array(“apple”, $array); // True

in_array(“Apple”, $array); // False

STRING TO ARRAY

•เราสามารถแปลงขอความเปน Array ได โดยการเลอกตวอกษรตดขอความ

$str = “return an array of strings, each of which is substring”;

$array = explode(“,”, $str);

echo $array[0]; // return an array of strings

echo $array[1]; // each of which is substring (มชองวางหนา each)

ARRAY TO STRING

•ในทางกลบกน เราสามารถเอา Value ใน Array มาตอกนใหกลายเปน

ขอความ

$array = array(“apple”, “banana”, “orange”);

$str = implode(“-”, $array);

echo $str; // apple-banana-orange

MORE ARRAY FUNCTIONS

•http://php.net/manual/en/ref.array.php

ROAD TO GOOGLE PART 1

•Refer to Lab Sheet 3

Recommended