如何在这里制作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"等。 非常感谢任何帮助。
答案 0 :(得分:0)
您可以通过将值附加到空字符串$value = "".$value
或使用强制转换(string)
在你的情况下
$yourArray['values'] = array_map($yourArray['values'], function($value) {return (string)$value;})
答案 1 :(得分:0)
具有完全相同逻辑的另一个版本 - 用引号包装每个值。当您声明$values_x
访问每个元素时(通过array_map
或foreach()
)和使用双引号。如另一个答案所述,施放为(string)
也会有效。
代码:(Demo)
$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