将变量元素转换为 json 的字符串



如何在这里制作一个foreach以将每个$values_x数组元素转换为字符串?

$values_x = '';
if ( isset( $chart_render_data['options']['xAxis']['categories'] ) ) {
    $values_x = $chart_render_data['options']['xAxis']['categories'];
}

$values_x 在当前图形中输出这个,我有:

array(14) {
  [0]=>float(2002)
  [1]=>float(2003)
  [2]=>float(2004)
  [3]=>float(2005)
  [4]=>float(2006)
  [5]=>float(2007)
  [6]=>float(2008)
  [7]=>float(2009)
  [8]=>float(2010)
  [9]=>float(2011)
  [10]=>float(2012)
  [11]=>float(2013)
  [12]=>float(2014)
  [13]=>float(2015)
}
bool(true)

我需要它来输出"2002"等。任何帮助将不胜感激。

您可以通过将值附加到空字符串来简单地将值强制转换为字符串$value = "".$value或使用强制转换(string)

在您的情况下

$yourArray['values'] = array_map($yourArray['values'], function($value) {return (string)$value;})

另一个具有完全相同逻辑的版本 - 将每个值括在引号中。 当您声明$values_x访问每个元素(通过 array_mapforeach() (并用双引号括起来时。 正如另一个答案中所述,投射为(string)也将起作用。

代码:(演示(

$chart_render_data['options']['xAxis']['categories']=array(
    array(2002),array(2003),array(2004),array(2005),array(2006),array(2007),
    array(2008),array(2009),array(2010),array(2011),array(2012),array(2013),
    array(2014),array(2015));
if(isset( $chart_render_data['options']['xAxis']['categories'])){
    $values_x=array_map(function($v){return "$v";},array_column($chart_render_data['options']['xAxis']['categories'],0));
}
foreach($values_x as $v){
    echo "$v is a ",gettype($v),"n";
}

输出:

2002 is a string
2003 is a string
2004 is a string
2005 is a string
2006 is a string
2007 is a string
2008 is a string
2009 is a string
2010 is a string
2011 is a string
2012 is a string
2013 is a string
2014 is a string
2015 is a string

最新更新