首頁  >  文章  >  後端開發  >  php轉數組有哪幾種方式

php轉數組有哪幾種方式

青灯夜游
青灯夜游原創
2022-07-25 17:57:363527瀏覽

轉數組的方式:1、在指定變數前加上用括號括起來的目標類型“(array)”,語法“(array)變數”;2、用settype()將變數設為陣列類型,語法「settype(變數,"array")」;3、用str_split()將字串轉為數組,語法「str_split(字串,元素長度)」;4、用explode()將字串轉化為數組,語法“explode(分割字元,字串)”。

php轉數組有哪幾種方式

本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦

php轉數組的幾種方式

方法1、在變數之前加上用括號括起來的目標類型「(array)」

  • (array):轉換成陣列型別;

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$str = &#39;hello&#39;;
var_dump($str);
$arr=(array)$str;
var_dump($arr);
?>

php轉數組有哪幾種方式

#方法2:使用settype()函數

settype($var,$type) 函數用於將變數$var設定為指定類型$type。

只需將$type設定為「"array"」即可變數$var設定為陣列類型。

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$str = &#39;hello&#39;;
var_dump($str);
$arr=settype($str,"array");
var_dump($arr);
var_dump($str);
?>

php轉數組有哪幾種方式

說明:settype()函數會改變原變量,設定成功時傳回 TRUE, 失敗時傳回 FALSE。

方法3、使用str_split()函數--將字串轉換為陣列

#str_split() 函數把字串分割到陣列中,即將字串轉為字元數組。

str_split(string,length)

參數說明如下:

  • string    必需。規定要分割的字串。   

  • length    可選。規定每個數組元素的長度。預設是 1。

範例:

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$str = &#39;hello&#39;;
var_dump($str);
$arr1=str_split($str);
var_dump($arr1);
$arr2=str_split($str,2);
var_dump($arr2);
?>

php轉數組有哪幾種方式

#方法4、使用explode()函數--將字串轉化為數組

explode() 函數可以基於字串分割符拆分字串,即它將一個字串根據分隔符號拆分為若干個子串,然後將這些子字串組合成數組並返回。

explode($delimiter, $string [, $limit])

參數說明如下:

  •         $delimiter:用於分割字串的分割字元;
  •         $string:需要分割的字串;
  •         $limit:可選參數,可為空,規定要傳回陣列元素的數目;
    •                 如果 $limit 不為空且為正數,則回傳的陣列最多包含 $limit 個元素,最後的那個元素包含了 $string 的剩餘部分;
    •                 如果 $limit 不為空且為負數,則傳回除了最後的 $limit 個元素外的所有元素;
    •                 如果 $limit 為 0,則會被當作 1;
    •                 如果 $limit 為空,則表示傳回所有陣列元素。

只需將$delimiter設定為' '即可。

範例:

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$str = &#39;hypertext language programming&#39;;
var_dump($str);
$arr=explode(" ",$str);
var_dump($arr);
?>

php轉數組有哪幾種方式

#方法5、使用preg_split()函數--將字串轉換為陣列

preg_split() 函式透過一個正規表示式來分割字串。

preg_split ( string $pattern , string $subject [, int $limit = -1 [, int $flags = 0 ]] )

參數說明如下:

  • $pattern:用於匹配的模式,也即正規表示式。
  • $subject 要分割的字串。
  • $limit:可選參數,如果指定,就將限制分隔得到的子字串最多只有 limit 個,並且最後一個子字串將包含所有剩餘部分。 limit 值為 -1、0 或 NULL 時都代表“不限制”,建議使用 NULL。
  • $flags:可選參數,它有 3 個取值。
    • 若設定為 PREG_SPLIT_NO_EMPTY,則 preg_split() 將傳回分隔後的非空部分。
    • 若設定為 PREG_SPLIT_DELIM_CAPTURE,則分隔的模式中的括號表達式將會被擷取並傳回。
    • 若設定為 PREG_SPLIT_OFFSET_CAPTURE,則對於每一個出現的符合返回時會附加字串偏移量。

                注意:這將會改變傳回陣列中的每一個元素,使每個元素成為由第0 個元素為分隔後的子字串、第1 個元素為該子字串在subject 中的偏移量所組成的陣列。

傳回值:傳回一個使用 $pattern 分割 subject 字串後得到的子字串組成的陣列。

只需將$pattern設定為/ /即可。

範例:

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$str = &#39;1 2 3 4,5 6-7 8=9&#39;;
var_dump($str);
$arr=preg_split(&#39;/ /&#39;, $str, -1, PREG_SPLIT_OFFSET_CAPTURE);
var_dump($arr);
?>

php轉數組有哪幾種方式

方法6:使用get_object_vars()函数--将对象转化为数组

get_object_vars()返回由对象属性组成的关联数组。

语法:

get_object_vars ($obj)

返回由 obj 指定的对象中定义的属性组成的关联数组。

示例:

<?php
class gfg {
    private $geeks = 0.02;
    public $for = 1;
    public $Geeks = "php";
    private $GEEKS;
    static $e;
     
    public function example() {
        var_dump(get_object_vars($this));
    }
}
 

$example = new gfg;
 
var_dump(get_object_vars($example));
  
$example->example();
  
?>

php轉數組有哪幾種方式

方法7:使用json_encode()和json_decode()函数--将对象转化为数组

使用json_encode函数将对象转换为json数据,再使用json_decode函数将json数据转换为数组。

<?php
class gfg {
    public  $geeks = 0.02;
    public $for = 1;
    public $Geeks = "php";
    public  $GEEKS;
    public  $e;
}
 

$example = new gfg;
 
var_dump(json_decode(json_encode($example),TRUE));

?>

php轉數組有哪幾種方式

推荐学习:《PHP视频教程

以上是php轉數組有哪幾種方式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn