使用 JSON 组合字符串和数组
Combine a string and an array with JSON
我正在尝试将字符串和数组与JSON组合在一起。到目前为止,没有成功。
这是PHP代码:
<?php
$url = ‘example.com’;
$data = file_get_contents($url);
$regex = '/list-animal-id">(.+?)</';
$input = ‘testtext';
preg_match_all($regex,$data, $match);
//var_dump($match);
//echo json_encode($match[1]);
$json = array($input, $match[1]);
$json_data = json_encode($json);
echo $json_data;
?>
$match返回一个数组,例如:
"22425229","22493325","22596308","24635614","22202322"
上面只创建字符串的一个实例:
["testtext",["22425229","22493325","22596308"......
我想创建这样的东西:
"testtext":"22425229", "testtext":"22425230"
谢谢
你想做的事情是不可能的。 [ "testtext":"22425229", "testtext":"22425230" ]
假设一个数组,其中每个键都是"测试文本"。不能重复具有相同键的数组或对象。
您可以做的是创建一个数组数组,其中每个项目都是一个关联数组(JSON 中的对象):
<?php
$url = 'example.com';
$data = file_get_contents($url);
$regex = '/list-animal-id">(.+?)</';
$input = 'testtext';
preg_match_all($regex,$data, $match);
//var_dump($match);
//echo json_encode($match[1]);
function outputArray( $value ) {
global $input;
return array( $input => $value );
}
$json = array_map( 'outputArray', $match );
$json_data = json_encode($json);
echo $json_data;
?>
输出为:[{"testtext":"22425229"},{"testtext":"22493325"},{"testtext":"22596308"},{"testtext":"24635614"},{"testtext":"22202322"}]
我的解决方案是错误的,不应该留在这里混淆其他人......正确的解决方案可以在吉姆斯的回答中找到...
相关文章:
- 高亮显示与数组字符串一起使用时文本插件中断
- 从数组/字符串中删除所有小数和单个数字
- 使用Javascript regex替换“index”数组字符串
- 如何将复选框中的选中值收集为 javascript 数组/字符串
- 将数组数组字符串转换为 Javascript 数组数组的优雅方法
- 如何将数组字符串转换为数组
- 通过数组字符串访问JavaScript对象中的值
- Javascript数组字符串作为图像键
- Chrome和Firefox正在检索字符,而不是javascript中的数组字符串
- 如何在 JavaScript 函数中从 PHP end 传递数组字符串作为参数
- Jquery 如何检查数组字符串值是否在文本区域中
- 如何转换数组字符串
- JS数组字符串将名称修补到数组(对象)
- 在Javascript中从数组字符串中查找单个或多个值
- 如何将java数组字符串分配给javascript数组字符串
- 如何在javascript中将子数组字符串的数组转换为子数组的数组?
- 如何将字符串中的特殊值放入数组字符串
- 如何在JavaScript中给出RouteUrl中的数组字符串
- 在javascript的for循环中设置数组's字符串元素的长度为一个变量
- 如何从“数组字符串”中获取键值在javascript