今日學習筆記

2022-05-17 21:38:41 字數 4594 閱讀 3792

1,例項化物件時候,括號主要是為了傳入引數。

如果建構函式有引數就必須要括號,如果沒有引數,加不加括號效果都相同。

<?php 

$arr = ;

$arr[0]='a';

$arr[1]='b';

$jsonstr = json_encode($arr);

echo $jsonstr;

echo "

";echo json_encode($arr,json_force_object);

/***

*/class ceshi

function say() }

$person = new ceshi('changliang');

$person->say();

echo json_encode($person);

?>

2,json_encode 不加option引數,會自動根據給定的型別進行轉換。比如陣列他就轉換為陣列,物件就轉換為物件型別的json。

3,class ceshi function say()}

$person = new ceshi('changliang');

$person->say();

4,關於 json 這個問題,陸陸續續有新手朋友找我問,比如為什麼我輸出的是而不是["item1","item2","item3"]

我這裡用 php 5.4 以上語法表示。

php 裡有關聯陣列和索引陣列,例如:

文字

<?php

// 索引陣列

$arr = ['item1', 'item2', 'item3'];

// 關聯陣列

$arr = [

'name' => '張三',

'age' => '22',

];

而 js 裡只有一種陣列,那就是索引陣列,也許你會說可以用 k/v 鍵值對形式模擬關聯陣列啊。

k/v 鍵值對看起來像,但他沒有任何陣列特性,這裡就不詳細說明了。

而上面的 php 陣列json_encode後得到的 json 格式分別是["item1","item2","item3"]。這裡的中文被轉為 unicode 了,如果你非要顯示中文,php 5.4 之後支援json_unescaped_unicode引數,json_encode($arr, json_unescaped_unicode)即可得到,不過非常不推薦這樣寫。

這裡分別得到的是 js 下的陣列物件格式的 json 字串,那為什麼會生成這兩種型別,或者說,什麼情況會生成物件格式,什麼情況會生成陣列格式呢。

大致幾種情況我都列出來了,直接看**。

文字

<?php

$arr = [ // 不是 0 開始,會輸出物件

1 => 'item1',

2 => 'item2',

3 => 'item3',

];echo "輸出物件: ", json_encode($arr), "\n";

// 輸出物件:

$arr = [ // 連續索引,輸出陣列

0 => 'item1',

1 => 'item2',

2 => 'item3',

];echo "輸出陣列: ", json_encode($arr), "\n";

// 輸出陣列: ["item1","item2","item3"]

$arr = [ // 連續索引,輸出陣列

'item1',

'item2',

'item3',

];echo "輸出陣列: ", json_encode($arr), "\n";

// 輸出陣列: ["item1","item2","item3"]

$arr = [ // 索引不連續,輸出物件

0 => 'item1',

1 => 'item2',

2 => 'item3',

5 => 'item5',

];echo "輸出物件: ", json_encode($arr), "\n";

// 輸出物件:

$arr = [ // 包含關聯索引,一定輸出物件

0 => 'item1',

1 => 'item2',

2 => 'item3',

'other' => '其他字段'

];echo "輸出物件: ", json_encode($arr), "\n";

// 輸出物件:

// 關聯陣列 + 索引陣列 例項

$arr = [ // 關聯陣列

'other' => '其他字段',

'count' => 3, // 陣列個數

'list' => [ // 索引陣列

'item1',

'item2',

'item3',

],];

關於 json 這個問題,陸陸續續有新手朋友找我問,比如為什麼我輸出的是而不是["item1","item2","item3"]

我這裡用 php 5.4 以上語法表示。

php 裡有關聯陣列和索引陣列,例如:

文字

<?php

// 索引陣列

$arr = ['item1', 'item2', 'item3'];

// 關聯陣列

$arr = [

'name' => '張三',

'age' => '22',

];

而 js 裡只有一種陣列,那就是索引陣列,也許你會說可以用 k/v 鍵值對形式模擬關聯陣列啊。

k/v 鍵值對看起來像,但他沒有任何陣列特性,這裡就不詳細說明了。

而上面的 php 陣列json_encode後得到的 json 格式分別是["item1","item2","item3"]。這裡的中文被轉為 unicode 了,如果你非要顯示中文,php 5.4 之後支援json_unescaped_unicode引數,json_encode($arr, json_unescaped_unicode)即可得到,不過非常不推薦這樣寫。

這裡分別得到的是 js 下的陣列物件格式的 json 字串,那為什麼會生成這兩種型別,或者說,什麼情況會生成物件格式,什麼情況會生成陣列格式呢。

大致幾種情況我都列出來了,直接看**。

文字

<?php

$arr = [ // 不是 0 開始,會輸出物件

1 => 'item1',

2 => 'item2',

3 => 'item3',

];echo "輸出物件: ", json_encode($arr), "\n";

// 輸出物件:

$arr = [ // 連續索引,輸出陣列

0 => 'item1',

1 => 'item2',

2 => 'item3',

];echo "輸出陣列: ", json_encode($arr), "\n";

// 輸出陣列: ["item1","item2","item3"]

$arr = [ // 連續索引,輸出陣列

'item1',

'item2',

'item3',

];echo "輸出陣列: ", json_encode($arr), "\n";

// 輸出陣列: ["item1","item2","item3"]

$arr = [ // 索引不連續,輸出物件

0 => 'item1',

1 => 'item2',

2 => 'item3',

5 => 'item5',

];echo "輸出物件: ", json_encode($arr), "\n";

// 輸出物件:

$arr = [ // 包含關聯索引,一定輸出物件

0 => 'item1',

1 => 'item2',

2 => 'item3',

'other' => '其他字段'

];echo "輸出物件: ", json_encode($arr), "\n";

// 輸出物件:

// 關聯陣列 + 索引陣列 例項

$arr = [ // 關聯陣列

'other' => '其他字段',

'count' => 3, // 陣列個數

'list' => [ // 索引陣列

'item1',

'item2',

'item3',

],];

今日學習筆記

關於spring boot專案利用集群模式部署的問題 redis 簡介 redis優勢 開啟資料夾,內容如下 開啟乙個cmd視窗 使用 cd 命令切換目錄到c redis執行 redis server.exe redis.windows.conf 如果想方便的話,可以把 redis 的路徑加到系統的...

今日學習筆記

在servlet層給儲存和編輯功能做區分打標 由於儲存和編輯的功能在servlet層中被編寫到了一起,在呼叫過程中為了達到對兩種功能的區分,則通過給兩個功能打標的方式,實現區分調取 功能中新增 functionadd else service voidedituser useruser throws...

今日學習筆記

理由limit函式實現分頁控制 select from userinfo limit 0,10 第乙個數字是從第幾個數字開始查,第二個數字表示往後查幾條資料 假設兩個數字分別是a和b,那麼如果要實現分頁控制,則在這裡a表示頁數,b是每頁顯示的條數 limit x a 1 b limit y b 在我...