1. 程式人生 > >php 中的陣列型別

php 中的陣列型別

key 可以是integer 或者stringvalue 可以是任意型別。

此外 key 會有如下的強制轉換:

  • 包含有合法整型值的字串會被轉換為整型。例如鍵名"8" 實際會被儲存為8。但是 "08" 則不會強制轉換,因為其不是一個合法的十進位制數值。
  • 浮點數也會被轉換為整型,意味著其小數部分會被捨去。例如鍵名8.7 實際會被儲存為8
  • 布林值也會被轉換成整型。即鍵名true 實際會被儲存為1 而鍵名 false 會被儲存為 0
  • Null 會被轉換為空字串,即鍵名null 實際會被儲存為""
  • 陣列和物件不能被用為鍵名。堅持這麼做會導致警告:Illegal offset type

key 為可選項。如果未指定,PHP 將自動使用之前用過的最大integer

鍵名加上 1 作為新的鍵名。

<?php
$array = array(
         "a",
         "b",
    6 => "c",
         "d",
);
var_dump($array);
?>

array(4) {
  [0]=>
  string(1) "a"
  [1]=>
  string(1) "b"
  [6]=>
  string(1) "c"
  [7]=>
  string(1) "d"
}
可以看到最後一個值 "d" 被自動賦予了鍵名 7。這是由於之前最大的整數鍵名是 6

相關推薦

php陣列的並集、交集和差集函式

計算陣列的並集 array_merge ( array array1[,arrayarray1[,array… ] )  將一個或多個數組的單元合併起來,一個數組中的值附加在前一個數組的後面。返回作為結果的陣列。 計算陣列的交集 array_intersect ( a

php陣列排序

  1.根據值排序    忽略鍵名:升序sort()  降序rsort()  使用者自定義usort($arr,$callback)回撥    保留鍵名: 升序asort()  降序arsort()  使用者自

php陣列與變數和字串之間的轉換

 陣列函式_陣列與變數,字串之間的轉換:   1.list($var1,$val2...)   2.extract($arr, $flag)   3.compact(str1,str2...)   4.explode($delimiter, $str

php陣列+和array_merge區別

主要區別在與兩個或多個數組在合併時,出現相同的鍵名時處理方式不一樣 一、當鍵名為數字時,array_merge不會覆蓋原來的值,+會拋棄後面的值<?php /** * Created by P

PHP Study第七章 -----PHP陣列的常見用法

<?php /*7:陣列的型別  * 7.1略過了,反正是建立陣列  */ /*7.3 陣列的型別  * 7.3.1 陣列索引型別  * 預設索引值是數字,從0開始  */ /*7.3.2 關聯陣列 鍵名是數字和字串的混合  */  $newarray = arr

spark讀取elasticsearch陣列型別的欄位

之前做的一個專案需要用sparksql讀取elasticsearch的資料,當讀取的型別中包含陣列時報錯. 讀取方式大概是 val options = Map("pushdown" -> "true", "strict" -> "false", "

php 陣列型別

key 可以是integer 或者string。value 可以是任意型別。 此外 key 會有如下的強制轉換: 包含有合法整型值的字串會被轉換為整型。例如鍵名"8" 實際會被儲存為8。但是 "08

PHPXML和陣列互相轉換的方法

轉換程式碼如下 //陣列轉XML function arrayToXml($arr) { $xml = "<xml>"; foreach ($arr as $key=>$val) {

PHP關聯陣列在進行JSON化時會出現資料型別變成物件的情況

<?php   $arr =array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);   echo json_encode($arr); &

分享:PHP陣列找到指定元素的位置

群裡有人問,有個陣列五個元素 分為1到5  現在要求 迴圈找出3元素的索引,怎麼做效能才是最高。   我不知道哪個效能最高,但是我想提出可以用多種方式進行查詢,然後進行比較選擇。 我想,最簡單最基礎的 應該是迴圈,迴圈到它,那就是它

Js如何判斷一個物件為陣列型別

在說明如何判斷一個物件為陣列型別前,我們先鞏固下js的資料型別,js一共有六大資料型別:number、string、object、Boolean、null、undefined。 string: 由單引號或雙引號來說明,如"string"; number:陣列型別,比如整數、小數等; Boolea

PHP判斷某個變數的型別

PHP的資料型別包括:integer float string boolean array object (用gettype()函式獲取資料的型別) is_numeric ( mixed var ): //檢驗測定變數是不是為數碼或數碼字串 is_b

PHP學習——17 PHP陣列及其使用技巧(二)

一、陣列的鍵值操作 <?php // 1.array_values — 返回陣列中所有的值的預設索引陣列(返回array型別) // 用在只需要對陣列元素的值感興趣的場合,例如大量資料的搜尋等

PHP學習——18 PHP陣列及其使用技巧(三)

一,陣列的排序操作 <?php // 1. bool sort ( array &$array [, int $sort_flags = SORT_REGULAR ] ) // 本函式對陣列進行排序。當本函式結束時陣列單元將被從最低到最高重新安排 // b

C++stringl型別陣列型別的

字元陣列轉化成string型別 char ch [] = “ABCDEFG”; string str(ch);//也可string str = ch; 或者 char ch [] = “ABCDEFG”

php去除陣列或字串特殊字元

去除陣列或是字串中的反斜槓 function stripslashes_deep($value) { $value = is_array($value) ? array_map('stripslashes_deep', $value) :

PHP陣列刪除元素的四種方法例項

刪除一個元素,且保持原有索引不變 使用 unset 函式,示例如下: <?php   $array = array(0 => "a", 1 => "b", 2 => "c")

php使用陣列 巧妙的生成驗證碼!

我們知道驗證碼的用處很多,那麼在php中如何巧妙的用程式碼編寫呢? 首先我們需要用到幾個函式 1> array_merge-合併一個或多個數組 此函式中如果輸入的陣列中有相同的字串鍵名,則該鍵後面的值將覆蓋前一個值。然而,如果陣列包含數字鍵名,後面的值將不

php的索引陣列和關聯陣列

專案開發中和前端人員關於傳輸資料的格式會產生分歧。 php中的索引陣列是指以數字為鍵的陣列。並且這個鍵值 是自增的 關聯陣列指的是一個鍵值對應一個值,並且這個鍵值是不規律的,通常都是我們自己指定的。 他們兩還有不同的地方,索引陣列轉為json後是陣列。而關聯陣列轉為json後是物件。通常

PHP】解析PHP陣列

目錄結構: contents structure [+] 建立陣列 刪除陣列 棧結構 常用的陣列處理函式 在這篇文章中,筆者將會介紹PHP中陣列的使用,以及一些注意事項。之前筆者已經說過PHP是一門弱語言型別,因此php中的陣列使用也比較靈活。 1