Heim >Backend-Entwicklung >PHP-Problem >Welche Möglichkeiten gibt es, PHP in ein Array zu konvertieren?

Welche Möglichkeiten gibt es, PHP in ein Array zu konvertieren?

青灯夜游
青灯夜游Original
2022-07-25 17:57:363577Durchsuche

So konvertieren Sie ein Array: 1. Fügen Sie den Zieltyp „(array)“ in Klammern vor der angegebenen Variablen hinzu. Die Syntax lautet „(array) variable“ 2. Verwenden Sie settype(), um die Variable auf das Array zu setzen Geben Sie die Syntax „settype(variable, „array“)“ ein. 3. Verwenden Sie str_split(), um die Zeichenfolge in ein Array umzuwandeln. Die Syntax lautet „str_split(string, element length)“. Um die Zeichenfolge in ein Array umzuwandeln, verwenden Sie die Syntax „explodieren(geteiltes Zeichen, Zeichenfolge)“.

Welche Möglichkeiten gibt es, PHP in ein Array zu konvertieren?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 8.1, DELL G3-Computer

Mehrere Möglichkeiten, PHP in ein Array zu konvertieren

Methode 1. Fügen Sie Klammern vor der Variablen The ein Zieltyp „(array)“

  • (array): In Array-Typ konvertieren;

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

Welche Möglichkeiten gibt es, PHP in ein Array zu konvertieren?

Methode 2: Verwenden Sie die Funktion settype()

settype($var,$type) Die Funktion wird verwendet, um die Variable $var auf den angegebenen Typ $type zu setzen.

Setzen Sie einfach $type auf „“array““, um die Variable $var auf den Array-Typ festzulegen. "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);
?>

Welche Möglichkeiten gibt es, PHP in ein Array zu konvertieren?

说明: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);
?>

Welche Möglichkeiten gibt es, PHP in ein Array zu konvertieren?

方法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);
?>

Welche Möglichkeiten gibt es, PHP in ein Array zu konvertieren?

方法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);
?>

Welche Möglichkeiten gibt es, PHP in ein Array zu konvertieren?

Hinweis: Die Funktion settype() ändert die ursprüngliche Variable und gibt TRUE zurück, wenn die Einstellung erfolgreich ist, und FALSE, wenn sie fehlschlägt. 🎜🎜🎜Methode 3. Verwenden Sie die Funktion str_split() – wandeln Sie die Zeichenfolge in ein Array um. 🎜🎜🎜Die Funktion str_split() teilt die Zeichenfolge in ein Array auf, d. h. sie wandelt die Zeichenfolge in ein Zeichenarray um. 🎜
get_object_vars ($obj)
🎜Die Parameterbeschreibung lautet wie folgt: 🎜🎜🎜🎜string Erforderlich. Gibt die zu teilende Zeichenfolge an. 🎜🎜🎜🎜Länge optional. Gibt die Länge jedes Array-Elements an. Der Standardwert ist 1. 🎜🎜🎜🎜Beispiel:
🎜
<?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();
  
?>
🎜Welche Möglichkeiten gibt es, PHP in ein Array zu konvertieren?🎜🎜🎜Methode 4. Verwenden Sie die Funktion explosion() – konvertieren Sie die Zeichenfolge in ein Array. Die Funktion „explode()“ kann die Zeichenfolge basierend auf dem Zeichenfolgentrennzeichen aufteilen, das heißt, sie wird es tun Teilen Sie ein Zeichen auf. Die Zeichenfolge wird basierend auf dem Trennzeichen in mehrere Teilzeichenfolgen aufgeteilt. Anschließend werden diese Teilzeichenfolgen zu einem Array zusammengefasst und zurückgegeben. 🎜
<?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));

?>
🎜Die Parameterbeschreibung lautet wie folgt: 🎜
    🎜 $delimiter: Das Trennzeichen, das zum Teilen der Zeichenfolge verwendet wird; $string: Die Zeichenfolge, die geteilt werden muss 🎜🎜 $limit: Optionaler Parameter, kann leer sein und gibt die Anzahl der zurückzugebenden Array-Elemente an Wenn $limit nicht leer und eine positive Zahl ist, enthält das zurückgegebene Array höchstens $limit-Elemente und das letzte Element enthält den verbleibenden Teil von $string               Wenn $limit nicht leer und negativ ist, werden alle Elemente außer den letzten $limit-Elementen zurückgegeben Wenn $limit 0 ist, wird es als 1 behandelt; Wenn $limit leer ist, werden alle Array-Elemente zurückgegeben. 🎜🎜🎜🎜🎜Setzen Sie einfach $delimiter auf ' '. 🎜🎜Beispiel:
    🎜rrreee🎜 Welche Möglichkeiten gibt es, PHP in ein Array zu konvertieren?🎜🎜🎜Methode 5. Verwenden Sie die Funktion preg_split() – konvertieren Sie die Zeichenfolge in ein Array. Die Funktion preg_split() teilt die Zeichenfolge durch einen regulären Ausdruck. 🎜rrreee🎜Die Parameterbeschreibung lautet wie folgt: 🎜
      🎜$pattern: Das für den Abgleich verwendete Muster, also der reguläre Ausdruck. 🎜🎜$subject Die zu teilende Zeichenfolge. 🎜🎜$limit: Optionaler Parameter Wenn angegeben, werden die durch die Begrenzung der Trennung erhaltenen Teilzeichenfolgen auf das Maximum begrenzt, und die letzte Teilzeichenfolge enthält alle verbleibenden Teile. Wenn der Grenzwert -1, 0 oder NULL ist, bedeutet dies „kein Grenzwert“. Es wird empfohlen, NULL zu verwenden. 🎜🎜$flags: Optionaler Parameter, er hat 3 Werte.
        🎜Wenn auf PREG_SPLIT_NO_EMPTY gesetzt, gibt preg_split() den abgetrennten, nicht leeren Teil zurück. 🎜🎜Wenn auf PREG_SPLIT_DELIM_CAPTURE gesetzt, werden Klammerausdrücke in durch Trennzeichen getrennten Mustern erfasst und zurückgegeben. 🎜🎜Wenn auf PREG_SPLIT_OFFSET_CAPTURE gesetzt, wird der String-Offset an jedes Vorkommen einer Übereinstimmung angehängt. 🎜🎜

        Hinweis: Dadurch wird jedes Element im zurückgegebenen Array geändert, sodass jedes Element zu einem Array wird, das aus dem 0. Element besteht, das die getrennte Teilzeichenfolge ist, und dem 1. Element, das den Offset der Teilzeichenfolge im Betreff darstellt. 🎜🎜🎜🎜Rückgabewert: Gibt ein Array zurück, das aus Teilzeichenfolgen besteht, die nach Verwendung von $pattern zum Teilen der Betreffzeichenfolge erhalten wurden. 🎜🎜Setzen Sie $pattern einfach auf / /. 🎜🎜Beispiel: 🎜

        <?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);
        ?>

        Welche Möglichkeiten gibt es, PHP in ein Array zu konvertieren?

        方法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();
          
        ?>

        Welche Möglichkeiten gibt es, PHP in ein Array zu konvertieren?

        方法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));
        
        ?>

        Welche Möglichkeiten gibt es, PHP in ein Array zu konvertieren?

        推荐学习:《PHP视频教程

Das obige ist der detaillierte Inhalt vonWelche Möglichkeiten gibt es, PHP in ein Array zu konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn