Home  >  Article  >  Backend Development  >  Convert strings to arrays in php using explode(),implode()_PHP tutorial

Convert strings to arrays in php using explode(),implode()_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:44:591706browse

The most common way to convert arrays and strings in PHP is to use the explode() and implode() functions. Today I saw a friend asked such a question. Let me sort it out and share it with you. .

Let’s take a look at these two functions

implode function:

Use function implode to convert array to string

explode function:

Use explode function to convert string into array

Example 1.

Today I saw in the PHP forum that a friend posted a post asking PHP how to convert a string into an array; as a PHP programmer, Xinyi’s first reaction was to think of the two functions explode() and implode(). . Shinichi also uses the function inside to convert it into an array.

con[1]=28&selt[1]=1&con[2]=29&selt[2]=4&con[3]=26&selt[3]=4

&con[4]=30&selt[4]=2&con[5]=4&selt[5]=1&con[6]=11&con[7]=12

The above is the string that netizens need to convert into a PHP array; below is the PHP conversion code provided by Xinyi

The code is as follows Copy code
 代码如下 复制代码

$str = 'con[1]=28&selt[1]=1&con[2]=29&selt[2]=4&con[3]=26&selt[3]=4&con[4]=30&selt[4]=2&con[5]=4&selt[5]=1&con[6]=11&con[7]=12';
$arr = explode('&',$str);
$arr2 = array();
foreach($arr as $k=>$v){
        $arr = explode('=',$v);
        $arr2[$k] = $arr[1];
}
print_r($arr2);
?>
//输出
Array
(
    [0] => 28
    [1] => 1
    [2] => 29
    [3] => 4
    [4] => 26
    [5] => 4
    [6] => 30
    [7] => 2
    [8] => 4
    [9] => 1
    [10] => 11
    [11] => 12
)
//第二个
$str = 'con[1]=28&selt[1]=1&con[2]=29&selt[2]=4&con[3]=26&selt[3]=4&con[4]=30&selt[4]=2&con[5]=4&selt[5]=1&con[6]=11&con[7]=12';
$arr = explode('&',$str);
$arr2 = array();
foreach($arr as $k=>$v){
        $arr = explode('=',$v);
        $arr2[$arr[0]] = $arr[1];
}
print_r($arr2);
?>
//输出
Array
(
    [con[1]] => 28
    [selt[1]] => 1
    [con[2]] => 29
    [selt[2]] => 4
    [con[3]] => 26
    [selt[3]] => 4
    [con[4]] => 30
    [selt[4]] => 2
    [con[5]] => 4
    [selt[5]] => 1
    [con[6]] => 11
    [con[7]] => 12
)

$str = 'con[1]=28&selt[1]=1&con[2]=29&selt[2]=4&con[3]=26&selt[3]=4&con[4]=30&selt[4]=2&con[5]=4&selt [5]=1&con[6]=11&con[7]=12';
$arr = explode('&',$str);
$arr2 = array();

foreach($arr as $k=>$v){
 代码如下 复制代码


//将多维数组中所有的数值转换成字符串????》最多支持三维数组
function implodex( $glue, $array, $separator='' ) {
if ( ! is_array( $array ) ) return $array;
$string = array();

$count = 0;
foreach ( $array as $key => $val ) {
if ( is_array( $val ) )
$val = implode( $glue, $val );

if($count == 0){
$string[] = "{$val}";
}else{
$string[] = "{$glue}{$val}";
}
}

if(empty($separator))$separator = $glue;

return implode( $separator, $string );
}

           $arr = explode('=',$v);           $arr2[$k] = $arr[1]; } print_r($arr2); ?> //Output Array ( [0] => 28 [1] => 1 [2] => 29 [3] => 4 [4] => 26 [5] => 4 [6] => 30 [7] => 2 [8] => 4 [9] => 1 [10] => 11 [11] => 12 ) //Second $str = 'con[1]=28&selt[1]=1&con[2]=29&selt[2]=4&con[3]=26&selt[3]=4&con[4]=30&selt[4]=2&con[5]=4&selt [5]=1&con[6]=11&con[7]=12'; <🎜> $arr = explode('&',$str); <🎜> $arr2 = array(); <🎜> foreach($arr as $k=>$v){            $arr = explode('=',$v);           $arr2[$arr[0]] = $arr[1]; } print_r($arr2); ?> //Output Array ( [con[1]] => 28 [selt[1]] => 1 [con[2]] => 29 [selt[2]] => 4 [con[3]] => 26 [selt[3]] => 4 [con[4]] => 30 [selt[4]] => 2 [con[5]] => 4 [selt[5]] => 1 [con[6]] => 11 [con[7]] => 12 )
Example 2. The above only supports one-dimensional data. What if it is two-dimensional or three-dimensional data
The code is as follows Copy code
//Convert all values ​​in the multi-dimensional array into strings????》Supports up to three-dimensional arrays function implodex( $glue, $array, $separator='' ) { if ( ! is_array( $array ) ) return $array; $string = array(); $count = 0; foreach ( $array as $key => $val ) { if ( is_array( $val ) ) $val = implode( $glue, $val ); if($count == 0){ $string[] = "{$val}"; }else{ $string[] = "{$glue}{$val}"; } } if(empty($separator))$separator = $glue; return implode( $separator, $string ); }


Example 3.

Convert arrays into strings for storage and retrieve strings into arrays (serialize & unserialize)

Look at an example below:

The code is as follows
 代码如下 复制代码

// $Id: test3.php,v 1.0 2011-6-7 goba Exp $

/**
* 测试PHP存储数值
*
* @author Lok
*/


$config = array (
'host' => 'localhost',
 'user_name' => 'root',
 'password' => '',
 'db_name' => 'ecshop',
 'charset' => 'utf8',
 'remark' => array ('note' => '要注意密码的安全', 'author' => 'Lok')
);
 
 
$str = serialize($config);
$arr = unserialize($str);
 
echo '--------str--------
';
var_dump($str);
echo '
-------arr----------
';
var_dump($arr)
?>结果:

--------str--------
string(221) "a:6:{s:4:"host";s:9:"localhost";
   s:9:"user_name";s:4:"root";
   s:8:"password";s:0:"";
   s:7:"db_name";s:8:"ecshop";
   s:7:"charset";s:4:"utf8";
   s:6:"remark";a:2:{s:4:"note";s:24:"要注意密码的安全";
                s:6:"author";s:3:"Lok";}}"
-------arr----------
array(6) { ["host"]=> string(9) "localhost"
        ["user_name"]=> string(4) "root"
        ["password"]=> string(0) ""
        ["db_name"]=> string(8) "emoishop"
               ["charset"]=> string(4) "utf8"
               ["remark"]=> array(2) { ["note"]=> string(24) "要注意密码的安全"
             ["author"]=> string(3) "Lok" } }

Copy code
// $Id: test3.php,v 1.0 2011-6-7 goba Exp $

/** * * @author Lok ​*/ $config = array ( 'host' => 'localhost', 'user_name' => 'root', 'password' => '', 'db_name' => 'ecshop', 'charset' => 'utf8',
'remark' => array ('note' => 'Pay attention to the security of your password', 'author' => 'Lok') );
$str = serialize($config); $arr = unserialize($str); echo '--------str--------
'; var_dump($str); echo '
-------arr----------
'; var_dump($arr) ?>Result: --------str-------- string(221) "a:6:{s:4:"host";s:9:"localhost"; s:9:"user_name";s:4:"root"; s:8:"password";s:0:""; s:7:"db_name";s:8:"ecshop"; s:7:"charset";s:4:"utf8"; s:6:"remark";a:2:{s:4:"note";s:24:"Pay attention to the security of your password"; s:6:"author";s:3:"Lok";}}" -------arr---------- array(6) { ["host"]=> string(9) "localhost"           ["user_name"]=> string(4) "root"           ["password"]=> string(0) ""           ["db_name"]=> string(8) "emoishop"                   ["charset"]=> string(4) "utf8"                    ["remark"]=> array(2) { ["note"]=> string(24) "Pay attention to the security of your password"                 ["author"]=> string(3) "Lok" } } http://www.bkjia.com/PHPjc/633057.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/633057.htmlTechArticleThe most common way to convert arrays and strings in PHP is to use the explode() and implode() functions. Converted, today I saw a friend asked a question like this, let me sort it out...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn