将数组的第一个元素转换为PHP中的string

我有一个PHP数组,并希望将其转换为string。

我知道我可以使用joinimplode ,但在我的情况下数组只有一个项目。 为什么我必须在一个数组中只用一个项目来使用组合值?

这个数组是我的PHP函数的输出,它返回一个数组:

 Array(18 => 'Something'); 

如何将其转换为string?

有没有其他方法将该数组转换为string?

你不想将数组转换为string,如果我正确读取它,你想获得数组唯一元素的值。

 <?php $foo = array( 18 => 'Something' ); $value = array_shift( $foo ); echo $value; // 'Something'. ?> 

使用array_shift你不必担心索引。

编辑 :介意你,array_shift不是唯一的函数,将返回一个单一的值。 array_pop(),current(),end(),reset(),它们都会返回那个单个元素。 所有发布的解决scheme工作。 尽pipe使用数组移位,但是可以肯定的是,即使有多个数组,也只能获得数组的第一个值。

有没有其他方法将该数组转换为string?

就在这里。 serialize() 。 它可以将各种数据types(包括对象和数组)转换为一个string表示forms,稍后您可以反unserialize() 。 序列化一个关联数组,例如Array(18 => 'Somthing')将保留键和值:

 <?php $a = array(18 => 'Something'); echo serialize($a); // a:1:{i:18;s:9:"Something";} var_dump(unserialize('a:1:{i:18;s:9:"Something";}')); // array(1) { // [18]=> // string(9) "Something" // } 

创buildPHPstring数组的一个简单方法是:

 <?PHP $array = array("firstname"=>"John", "lastname"=>"doe"); $json = json_encode($array); $phpStringArray = str_replace(array("{", "}", ":"), array("array(", "}", "=>"), $json); echo phpStringArray; ?> 

你可以使用reset()函数,它会返回第一个数组成员。

implodejoin (他们是完全一样的东西)会在这里工作。 或者,您可以调用array_pop并获取数组中唯一元素的值。

如果你的目标是将你的数组输出到一个string去debbuging:你可以使用print_r()函数,它接收一个expression式参数(你的数组)和一个可选的布尔返回参数。 通常该函数用于回显数组,但是如果将返回参数设置为true,则会返回数组展示。

例:

  //We create a 2-dimension Array as an example $ProductsArray = array(); $row_array['Qty'] = 20; $row_array['Product'] = "Cars"; array_push($ProductsArray,$row_array); $row_array2['Qty'] = 30; $row_array2['Product'] = "Wheels"; array_push($ProductsArray,$row_array2); //We save the Array impression into a variable using the print_r function $ArrayString = print_r($ProductsArray, 1); //You can echo the string echo $ArrayString; //or Log the string into a Log file $date = date("Ymd H:i:s", time()); $LogFile = "Log.txt"; $fh = fopen($LogFile, 'a') or die("can't open file"); $stringData = "--".$date."\n".$ArrayString."\n"; fwrite($fh, $stringData); fclose($fh); 

这将是输出:

 Array ( [0] => Array ( [Qty] => 20 [Product] => Cars ) [1] => Array ( [Qty] => 30 [Product] => Wheels ) ) 

你可以使用print_r和html解释它来将它转换成一个string,换行符如下:

 $arraystring = print_r($your_array, true); $arraystring = '<pre>'.print_r($your_array, true).'</pre>'; 

或者,如果你这样做,你可以混合许多arrays和variables

 ob_start(); print_r($var1); print_r($arr1); echo "blah blah"; print_r($var2); print_r($var1); $your_string_var = ob_get_clean(); 

For()循环非常有用。 你可以将你的数组的值添加到另一个variables,如下所示:

 <?php $dizi=array('mother','father','child'); //This is array $sayi=count($dizi); for ($i=0; $i<$sayi; $i++) { $dizin.=("'$dizi[$i]',"); //Now it is string... } echo substr($dizin,0,-1); //Write it like string :D ?> 

在这段代码中,我们在$ dizin中添加了$ dizi的值和逗号:

$dizin.=("'$dizi[$i]',");

现在

 $dizin = 'mother', 'father', 'child', 

这是一个string,但它有一个额外的逗号:)

然后我们删除了最后一个逗号, substr($dizin, 0, -1);

输出:

“母亲”,“父亲”,“子”

由于只有在导出数组时才会出现空白,因此可以将所有其他variablestypes的原始var_export()使用。 这个函数完成这个工作,并且从外部来看,它和var_export()一样工作。

 <?php function var_export_min($var, $return = false) { if (is_array($var)) { $toImplode = array(); foreach ($var as $key => $value) { $toImplode[] = var_export($key, true).'=>'.var_export_min($value, true); } $code = 'array('.implode(',', $toImplode).')'; if ($return) return $code; else echo $code; } else { return var_export($var, $return); } } ?> 

http://www.php.net/manual/en/function.var-export.php#54440

在PHP中将数组转换为string:

  1. 像这样使用PHP join函数:

     $my_array = array(4, 1, 8); print_r($my_array); Array ( [0] => 4 [1] => 1 [2] => 8 ) $result_string = join(',', $my_array); echo $result_string; 

    它通过逗号将数组中的项分隔成一个string:

     4,1,8 
  2. 或者像这样使用PHP implode函数:

     $my_array = array(4, 1, 8); echo implode($my_array); 

    打印:

     418 
  3. 以下是如果您在PHP数组中join或内嵌键值对的情况

     php> $keyvalues = array(); php> $keyvalues['foo'] = "bar"; php> $keyvalues['pyramid'] = "power"; php> print_r($keyvalues); Array ( [foo] => bar [pyramid] => power ) php> echo join(',', $keyvalues); bar,power php> echo implode($keyvalues); barpower php> 

在PHP中使用内置函数, implode(array, separator)

 <?php $ar = array("parth","raja","nikhar"); echo implode($ar,"/"); ?> 

结果:parth / raja / nikhar

在PHP中将数组转换为string:

像这样使用PHP join函数:

 $my_array = array(4,1,8); print_r($my_array); Array ( [0] => 4 [1] => 1 [2] => 8 ) $result_string = join(',' , $my_array); echo $result_string; 

它通过逗号将数组中的项分隔成一个string:

 4,1,8 

为了完整和简单起见,以下内容应该没问题:

 $str = var_export($array, true); 

它在我的情况下做得相当好,但其他人似乎也有空白的问题。 在这种情况下,来自ucefkh的答案从PHP手册中的评论中提供了一个解决方法。