我不知道如何将单引号数组转换为数组;
例如: -
我有
$Array = '["ID" => 9, "Value" => [40,15,20,25,30]]';
print_r($Array);
然后它显示的字符串不是数组
["ID" => 9, "Value" => [40,15,20,25,30]]
所以如何将其转换为数组
就像结果会像这样显示
Array
(
[ID] => 9
[Value] => Array
(
[0] => 40
[1] => 15
[2] => 20
[3] => 25
[4] => 30
)
)
可能你有为什么我把数组放在单引号中,但这不是我要放的。
我在group_concat
mysql
之后从数据库中获取数组
这是数组
Array
(
[0] => Array
(
[GPN] => A
[PKGID] => PKG01
[Output] => ["ID" => 9, "Value" => [40,15,20,25,30]]
)
)
这里的输出元素就像它是一个字符串
答案 0 :(得分:2)
你可以这样做,但可能很危险:
$Array = '["ID" => 9, "Value" => [40,15,20,25,30]]';
eval('$Array = '.$Array.';'); // Could be dangerous
echo '<pre>';
print_r($Array);
echo '</pre>';
在上面的示例中,假设$Array
是来自数据库的数据,例如[Output] => ["ID" => 9, "Value" => [40,15,20,25,30]]
。由于它来自数据库,因此这意味着DB数据可能存在恶意,eval()
很乐意运行您提供的任何内容。
答案 1 :(得分:1)
您可以使用TranslateAnimation translateAnimation = new TranslateAnimation(Animation.ABSOLUTE, 0,
Animation.ABSOLUTE, 0,
Animation.ABSOLUTE, scale.getY(),
Animation.ABSOLUTE, newY);
scale.startAnimation(translateAnimation);
将字符串解析为php代码,如下所示:
eval
这只适用于php 5.4及以上版本
<强>注意强>
如果此字符串包含来自用户的数据,则使用$s = '["ID" => 9, "Value" => [40,15,20,25,30]]';
eval('$a = ' . $s . ';');
print_r($a);
是不安全的。
替代解决方案
如果您是填充数据库记录的人,我建议在插入数据库之前使用eval
将Output
值序列化为json
。
然后,您可以使用json_encode
以数组的形式访问数据。
答案 2 :(得分:-1)
<?php
$str = '["ID" => 9, "Value" => [40,15,20,25,30]]';
$array = eval('return ' . $str . ';');
var_export($array);
输出:
array (
'ID' => 9,
'Value' =>
array (
0 => 40,
1 => 15,
2 => 20,
3 => 25,
4 => 30,
),
)
答案 3 :(得分:-1)
所以,你的问题基本上是如何将php数组的字符串表示转换为php数组。我不知道任何工具,但你可以使用eval函数。
$arr = [];
eval('$arr=' . $Array . ';');
// $arr contains php array
但是这不是值得推荐的,因为您可以执行破坏应用程序安全性的任意代码。在使用它之前,您应该确保$Array
不包含任何恶意代码并且所有字符串都被转义。
如果以root用户身份运行应用程序,则更危险。例如:
$Array = 'true?print_r($_SERVER['REQUEST_TIME']):0'
上面的代码将打印应用程序的所有服务器数据。
答案 4 :(得分:-1)
我认为这个解决方案。
$array = [
"ID" => 9,
"Value" => [40,15,20,25,30],
];
print_r($array);
输出:
/* Array ( [ID] => 9 [Value] => Array ( [0] => 40 [1] => 15 [2] => 20
[3]=> 25 [4] => 30 ) ) */
其他数组:
$array =[
"0" => [
"GPN" => A,
"PKGID" => PKG01,
"Output" =>
[
"ID" => 9,
"Value" => [40,15,20,25,30]
]
]
];
print_r($array);
输出:
/*Array ( [0] => Array ( [GPN] => A [PKGID] => PKG01 [Output] => Array ( [ID] => 9 [Value] => Array ( [0] => 40 [1] => 15 [2] => 20 [3] => 25 [4] => 30 ) ) ) ) */
建议:名称&#34; PKG01&#34;。
psr-1:常量必须以全部大写
声明
来源:psr-1