首頁 > 後端開發 > php教程 > php基礎學習筆記(4)

php基礎學習筆記(4)

WBOY
發布: 2016-08-08 09:28:23
原創
942 人瀏覽過

數組介紹

概念: 就是將若干個資料以一定的順序放在一起的一個集合體,整體上就稱之為「數組」。數組就是一列資料的有序排列的集合。

定義形式:

1

2

3

4

<span>var</span>  arr1 = <span>new</span> Array(<span>1</span>,  <span>5</span>,  <span>8</span>,  <span>7</span>,  <span>2</span>,  <span>10</span>);    <span>//</span><span>定义了一个数组,其中具有6个数据</span>

    <span>var</span>  arr2 = <span>new</span> Array();        <span>//</span><span>只是单纯地定义了一个数组(名),但没有给值(数据),即现在是空的</span>

    <span>var</span>  arr3 = [<span>1</span>,  <span>5</span>,  <span>8</span>,  <span>7</span>,  <span>2</span>,  <span>10</span>];    <span>//</span><span>同arr1,只是一种简写的定义法。</span>

    <span>var</span>  arr4 = [ ];        <span>//</span><span>同arr2,也是一个空数组。</span>

登入後複製

數組的使用:所謂使用其實是指對數組的每一項的使用。

         取值:

1

2

3

<span>var</span>  v1 = arr1[<span>0</span>];    <span>//</span><span>取得数组arr1中的第一项,0叫做下标</span>

    <span>var</span>  v2 = arr3[<span>3</span>] + <span>10</span>;    <span>//</span><span>取得数组arr3中的第4项,4叫做下标</span>

    ——所谓下标,其实就是数组的每一个数据的“顺序号”——从0开始编号,是连续的整数。

登入後複製

         賦值:

                  

1

2

3

4

5

arr2[<span>0</span>]  = <span>22</span><span>;

        arr2[</span><span>1</span>]  = <span>33.3</span><span>;

        arr2[</span><span>2</span>]  = “<span>444</span><span>”;

        arr2[</span><span>3</span>]  =<span> “abc”;

        arr2[</span><span>4</span>]  = <span>true</span>;

登入後複製

//此時arr2這個陣列相當於這樣: [ 22, 33.3, “444”, “abc”, true ]

數組的「視覺形象」(以arr3為例):

1

2

下标值:    <span>0</span>    <span>1</span>    <span>2</span>    <span>3</span>    <span>4</span>    <span>5</span><span>

数据值:    </span><span>1</span>    <span>5</span>    <span>8</span>    <span>7</span>    <span>2</span>    <span>10</span>

登入後複製

取得一個陣列的長度-就是其中的資料的數量的語法為:

         var  v1 = 陣列名.length;

         特別注意:陣列的最大下標是陣列的長度減1。

數組遍歷的通常模式:

var len = 陣列名.length;

for(var i = 0;  i

{

         //這裡是對陣列的每一項的處理,每一項的寫法是:  陣列名[i]

}

數組遍歷的另一種形式-for in迴圈語句。

for( var  v1   in  陣列名稱arr1 )

{

         //這裡就是一個循環體,是專門針對數組arr1的遍歷循環,其中v1的值就是表示數組的每一項的下標值。

         //v1只是一個“臨時變數”,代表每一項下標,依序會從0變化到陣列的最大下標。

}

「二維」數組:

1

2

3

4

5

6

7

8

9

<span>var</span>  v1 = [<span>2</span>, <span>5</span>, <span>1</span>, <span>5</span><span>];

</span><span>var</span>  v2 = [<span>5</span>, <span>1</span>, <span>6</span>, <span>8</span><span>];

</span><span>var</span>  v3 = [<span>8</span>, <span>0</span>, <span>9</span>, <span>7</span><span>];

</span><span>var</span>  v4 =<span> [v1,  v2,  v3];

</span><span>var</span>  v5 =<span> [ 

[</span><span>2</span>, <span>5</span>, <span>1</span>, <span>5</span><span>],

[</span><span>5</span>, <span>1</span>, <span>6</span>, <span>8</span><span>],

[</span><span>8</span>, <span>0</span>, <span>9</span>, <span>7</span><span>]

]; </span>

登入後複製

——v4和v5其實沒有任何區別,這兩個都可以稱為「二維數組」。

「二維」數組元素的操作:

         取值:

               為

                   var s2 = v5[2][3] + 100;    //107

         賦值:

                   v5[0][1] = 200;

                   v5[2][3] = 300;

數組物件的常用方法:

什麼叫方法:方法其實就是函數! ——只是如果一個函數“隸屬於”某個“對象”,則稱這個函數為該對象的方法。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

<span>function maibao(){

        document.write(“啦啦啦,我是卖报的小行家,卖报啦卖报啦。”);

}

</span><span>var</span> myDreamGirl =<span> {

name: “小花”,

age:</span><span>18</span><span>,

edu:”大学”, 

sex:”女”,

nengli1: function (){ document.write(“洗衣!”); } ,

nengli2: function (){ document.write(“做饭!”); } ,

nengli3: maibao

};

</span><span>var</span>  v1 = [<span>2</span>, <span>5</span>, <span>1</span>, <span>5</span><span>];

</span><span>var</span>  v2 = [<span>5</span>, <span>1</span>, <span>6</span>, <span>8</span>];

登入後複製

從嚴格的角度來說,陣列也是一種物件——甚至連字串也是物件。

v1作為對象,就有屬性和方法:

         屬性:

                  且有陣列.length: 表示此陣列物件的長度

         方法:

                   某數組.concat(其他陣列):將兩個陣列連接為新的「較長」的陣列。
                   var s1 = v1.concat( v2 );  //此時s1是如此一個陣列: [2, 5, 1, 5, 5, 1, 6, 8];

                  

                   某數組.join(「字串」):將陣列中的所有項目以指定的字元「串接起來」成為「長的」一個字串。

                   var s2 = v1.join(“//”);       //結果s2為字串 “2//5//1//5”

                  

                   某数组.pop();           //将该数组的最后一项“移除”(删除),并返回该项数据,即该数组少了一项

                   var  s3 = v1.pop();           //结果v1只剩这个:[2,5,1]; s3的值是5

                   某数组.push(新数据项d1);  //将新的数据d1添加到该数组的最后位置,即数组多了一项。

                   var  s4 = v1.push( 55 );          //v1此时为:[2,5,1, 55],  s4的值为新数组的长度,即4

                   某数组.shift();                   //将该数组的第一项“移除”(删除),并返回该项数据,即该数组少了一项

                   var  s5 = v1.shift();                   //结果v1只剩这个:[5, 1,55]; s5的值是2

        

                   某数组.unshift(新数据项d1);  //将新的数据d1添加到该数组的最前位置,即数组多了一项。

                   var  v6 = v1.unshift( 66 );       //v1此时为:[66, 5, 1, 55],  s6的值为新数组的长度,即4

javascript语言是一门基于对象的语言。

字符串对象:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

<span>var</span> str1 = <span>new</span> String(“abcdefgabc”);    <span>//</span><span>这是一个“字符串对象”</span>

    <span>var</span> str2 = “abcdefgabc”;                <span>//</span><span>这个字符串跟前面str1几乎没有区别</span>

<span>字符串对象的属性:

        .length——获得一个字符串的长度(也就是字符个数)

字符串对象的方法:

</span><span>1</span>.    str1.charAt( n );    ——获得字符串str1中位置为n的那个字符(字符的位置也是从0开始算起)<span>var</span> s1 = str1.charAt( <span>3</span> );        <span>//</span><span>s1的结果是:”d”</span>

<span>2</span><span>.    str1.toUpperCase();    ——获取str1全部转换为大写的结果

</span><span>var</span> s2 = str1.toUpperCase();    <span>//</span><span>s2的结果是:”ABCDEFGABC”</span>

<span>3</span><span>.    str1.toLowerCase();    ——获取str1全部转换为小写的结果

</span><span>var</span> s3 = str1.toLowerCase();    <span>//</span><span>s3的结果是:”abcdefgabc”</span>

<span>4</span><span>.    str1.replace(“字符1”, “字符2”);    ——将str1中的“字符1”替换为“字符2”

</span><span>var</span> s4 = str1.replace(“cd”, “<span>999</span>”);    <span>//</span><span>s4的结果是:”ab999efgabc”</span>

<span>5</span>.    str1.indexOf(“字符1”); ——获得“字符1”在str1中第一次出现的位置,如果没有出现,结果是-<span>1</span>

<span>var</span> s5 = str1.indexOf(“ab”);        <span>//</span><span>s5的结果是0</span>

<span>6</span>.    str1.lastIndexOf(““字符1”); ——获得“字符1”在str1中最后一次出现的位置,如果没有出现,结果是-<span>1</span>

<span>var</span> s6 = str1.lastIndexOf(“ab”);        <span>//</span><span>s6的结果是7</span>

<span>7</span><span>.    str1.substr(n, m )    ——取得str1中从位置n开始的m个字符,m可以省略,则表示从位置n一直取到字符串的最后——注意,这种“取”并不影响str1这个原始字符

</span><span>var</span> s7 = str1.substr(<span>2</span>, <span>4</span>);    <span>//</span><span>s7为:”cdef”</span>

<span>8</span><span>.    str1.substring( n, m )——取得str1中从位置n到位置m的前一个字符。

</span><span>var</span> s8 = str1.substring(<span>2</span>, <span>4</span>);    <span>//</span><span>s8为:”cd”</span>

<span>9</span><span>.    str1.split(“字符1”)    ——将str1以指定的“字符1”为分界,分割成一个数组,结果是一个数组

</span><span>var</span> s9 = str1.split(“b”);    <span>//</span><span>s9的结果是一个数组:[“a”, “cdefga”, “c”]</span>

登入後複製

Math对象

Math对象是一个系统内部定义的对象,我们无需去“新建一个Math对象”——跟string对象和array对象不同。即Math对象是直接使用的。

我们学习Math对象,无非是学习一些常见的数学处理函数——这里当就叫做方法了:

属性:

         Math.PI——代表圆周率这个“常数”

方法:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

<span>1</span><span>.    Math.max(数值1,数值2,…..) ——求得若干个数值中的最大值。

</span><span>2</span><span>.    Math.min(数值1,数值2,…..)     ——求得若干个数值中的最小值。

</span><span>3</span><span>.    Math.abs( 数值1)     ——求得数值1的绝对值

</span><span>4</span><span>.    Math.pow( x,y)        ——求得数值x的y次方,也就是“幂运算”

</span><span>5</span><span>.    Math.sqrt( x )            ——求得x的开方

</span><span>6</span><span>.    Math.round( x )         ——求得x的四舍五入的结果值;

</span><span>7</span><span>.    Math.floor( x )            ——求得x的向下取整的结果,即找到不大于x的一个最大的整数。

a)    Math.floor( </span><span>3.1</span> ) ? <span>3</span><span>

b)    Math.floor( </span><span>3.8</span> ) ? <span>3</span><span>

c)    Math.floor( </span><span>3</span> ) ? <span>3</span><span>

d)    Math.floor( </span>-<span>3.1</span> ) ? -<span>4</span><span>

e)    Math.floor( </span>-<span>3.8</span> ) ? -<span>4</span>

<span>8</span><span>.    Math.ceil( x )             ——求得x的向上取整的结果,即找到不小于x的一个最小的整数

a)    Math.floor( </span><span>3.1</span> ) ? <span>4</span><span>

b)    Math.floor( </span><span>3.8</span> ) ? <span>4</span><span>

c)    Math.floor( </span><span>3</span> ) ? <span>3</span><span>

d)    Math.floor( </span>-<span>3.1</span> ) ? -<span>3</span><span>

e)    Math.floor( </span>-<span>3.8</span> ) ? -<span>3</span>

<span>9</span>.    Math.random()        ——获得一个0~<span>1范围中的随机“小数”,含0,但不含1

 

 

</span><span>//</span><span>获得两个整数(n1,n2)之间的随机整数的通用做法:</span>

    <span>var</span> v1 =<span> Math.random()

    v1 </span>= v1 * (n2-n1+<span>1</span><span>);

    v1 </span>= Math.floor( v1 ) + n1;    <span>//</span><span>此时v1就是结果

</span><span>//</span><span>将上述3步写出一步就是(通用公式):</span>

    <span>var</span> v1 = Math.floor( Math.random() * (n2-n1+<span>1</span>) ) + n1

登入後複製

以上就介绍了php基础学习笔记(4),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板