php 字符串放到数组中,在PHP中将字符串转换为数组(Converting string into array in php)...
在PHP中将字符串转换为数组(Converting string into array in php)
我有像下面的字符串
["Day1"]["Morning"]=mutton&["Day1"]["Evening"]=Juice&["Day2"]["Morning"]=burger&["Day2"]["Evening"]=pizza
我正在尝试将其转换为如下所示的数组
$arr["Day1"]["Morning"] = "mutton";
$arr["Day1"]["Evening"] = "Juice";
$arr["Day2"]["morning"] = "burger";
$arr["Day2"]["evening"] = "pizza";
我尝试了下面的东西。
$str = '["Day1"]["Morning"]=mutton&["Day1"]["Evening"]=Juice&["Day2"]["Morning"]=burger&["Day2"]["Evening"]=pizza';
$pieces = explode("&", $str);
foreach($pieces as $pie)
{
$arr.$pie;
}
var_dump($arr);
我知道上面的代码真的很愚蠢:/。是否有适当的解决方案?
I have string like below
["Day1"]["Morning"]=mutton&["Day1"]["Evening"]=Juice&["Day2"]["Morning"]=burger&["Day2"]["Evening"]=pizza
Which i am trying to convert into array like below
$arr["Day1"]["Morning"] = "mutton";
$arr["Day1"]["Evening"] = "Juice";
$arr["Day2"]["morning"] = "burger";
$arr["Day2"]["evening"] = "pizza";
I tried something like below.
$str = '["Day1"]["Morning"]=mutton&["Day1"]["Evening"]=Juice&["Day2"]["Morning"]=burger&["Day2"]["Evening"]=pizza';
$pieces = explode("&", $str);
foreach($pieces as $pie)
{
$arr.$pie;
}
var_dump($arr);
I know above code is really dumb :/ .Is there any proper solution for this ?
原文:https://stackoverflow.com/questions/21746826
更新时间:2020-01-22 16:27
最满意答案
你可以这样做...
$str='["Day1"]["Morning"]=mutton&["Day1"]["Evening"]=Juice&["Day2"]["Morning"]=burger&["Day2"]["Evening"]=pizza';
$arr = explode('&',$str);
foreach($arr as $v)
{
$valarr=explode('=',$v);
preg_match_all('/"(.*?)"/', $valarr[0], $matches);
$narr[$matches[1][0]][$matches[1][1]]=$valarr[1];
}
print_r($narr);
OUTPUT :
Array
(
[Day1] => Array
(
[Morning] => mutton
[Evening] => Juice
)
[Day2] => Array
(
[Morning] => burger
[Evening] => pizza
)
)
你可以访问像echo $arr["Day1"]["Morning"]打印mutton
You could do like this...
$str='["Day1"]["Morning"]=mutton&["Day1"]["Evening"]=Juice&["Day2"]["Morning"]=burger&["Day2"]["Evening"]=pizza';
$arr = explode('&',$str);
foreach($arr as $v)
{
$valarr=explode('=',$v);
preg_match_all('/"(.*?)"/', $valarr[0], $matches);
$narr[$matches[1][0]][$matches[1][1]]=$valarr[1];
}
print_r($narr);
OUTPUT :
Array
(
[Day1] => Array
(
[Morning] => mutton
[Evening] => Juice
)
[Day2] => Array
(
[Morning] => burger
[Evening] => pizza
)
)
You could access like echo $arr["Day1"]["Morning"] which prints mutton
2014-02-13
相关问答
看起来你有魔术引号。 禁用它可以阻止大量的反斜杠。 Looks like you have magic quotes on. Disable it to stop the massive multitude of backslashes.
你可以试试 $data = Array(
1 => "Laravel",
2 => "Volta",
3 => "Web",
4 => "Design",
5 => "Development"
);
array_walk($data, function (&$item, $key) {
$item = array("id"=>$key,"text"=>$item);
});
print(json_encod
...
你应该使用array_map而不是array_walk : $numArray = array_map('intval', $numArray);
如果您仍想使用array_walk - 请参阅说明的手册 : 如果回调需要使用数组的实际值,请将回调的第一个参数指定为引用。 然后,对这些元素所做的任何更改都将在原始数组中进行。 由于intval函数不能与引用一起使用,因此需要将其包含在其他逻辑中,例如: array_walk($numArray, function(&$v){ $v = intva
...
使用JSON: echo json_encode($yourarray);
echo json_decode($_GET['fromjs']);
Use JSON: echo json_encode($yourarray);
echo json_decode($_GET['fromjs']);
那么,如果你的字符串格式化的很好,这里有一个可以解释的函数: function($text){
$arr = [];
$category = "";
$subcategory = "";
foreach (explode("\n", $text) as $line) {// For every line
if (startsWith($line, ' ')){
if (startsWith($line, '
...
你可以这样做... <?php
$str='["Day1"]["Morning"]=mutton&["Day1"]["Evening"]=Juice&["Day2"]["Morning"]=burger&["Day2"]["Evening"]=pizza';
$arr = explode('&',$str);
foreach($arr as $v)
{
$valarr=explode('=',$v);
preg_match_all('/"(.*?)"/', $valarr[0],
...
从PHP 5.4你可以简单地eval:eval(“\ $ f = ['method'=>'post','action'=>'#'];”); 后续代码var_dump($ F); 对于olders,你必须稍微修改一下字符串,将第一个“[”改为“array(”和“last”]“改为”)“”。 问题是如何在PHP中从var_dump的输出创建一个数组? From php 5.4 you can simply eval: eval("\$f=['method'=>'post','action'=>'#']
...
$php_object = json_decode($javascript_array_string)
这将返回一个对象,其属性对应于javascript数组的属性。 如果需要关联数组,请将true作为第二个参数传递给json_decode $php_array = json_decode($javascript_array_string, true)
另外还有一个json_encode函数。 $php_object = json_decode($javascript_array_string
...
尝试这个 $var = '{"msg": "background1.jpg"}';
var_dump($var);
` Try this $var = '{"msg": "background1.jpg"}';
var_dump($var);
`
您可以通过序列化将任何PHP数据类型但资源转换为字符串: $string = serialize($array);
然后再次反序列化为原始形式: $array = unserialize($string);
序列化数组是以字符串形式存在的。 它可以通过反序列化再次转换为数组。 同样_decode于您的数组的json_encode / - _decode : $string = json_encode($array);
$array = json_decode($string);
You ca
...
php 字符串放到数组中,在PHP中将字符串转换为数组(Converting string into array in php)...相关推荐
- php将soap返回的xml转成数组,PHP – 在PHP中将XML转换为数组 – 在php中解析soap xml并将其存储在数据库中...
我想转换soap xml响应并将其存储在数据库中.这是我的XML. 200 example2 ex2 example2@example2.com example2, example2 example2 ...
- PHP取出数组中随机一条字符串
PHP取出数组中随机一条字符串 在接微信支付的时候用到的,随机返回一条字符串作为支付的标题,防止微信支付安全检测. 只是自己简单记录一下,方便下次使用. /*** 取数组中随机一条为支付标题*/fun ...
- Python 轻松解决从 K 个字符串数组中任意取一个字符串,按顺序拼接,列出所有可能的字符串组合。(对比用库和不用库的方法)
文章目录 一.问题说明 二.解决方法 一.问题说明 问题来源:粉丝的提问 从 K 个字符串数组中任意取一个字符串,按顺序拼接,列出所有可能的字符串组合(对比用库和不用库的方法) 二.解决方法 iter ...
- 从K个数组中任取一个字符串进行按顺序拼接
完整题目 给定K个字符串数组,从这K个数组中任取一个字符串,按顺序拼接,列出所有可能的字符串组合 样例: input:[['a','b','cd'],['de'],['e','f']] output: ...
- vba 跳到下一个循环_VBA野知识分享:从一个数组中取部分值生成新数组,不使用循环的思路...
从一个数组中取部分值生成新数组,要实现此需求通常都是采用循环的方法来完成,那有没有更简易的思路呢? 借用jscript可以实现,直接取值,不用循环.例如从100000万中元素是取8000个值出来生成新 ...
- 编写一个汇编语言程序,将字符串Hello World中的全部小写字母转换为大写字母,并存放回原地址处。
编写一个汇编语言程序,将字符串"Hello World"中的全部小写字母转换为大写字母,并存放回原地址处. P176 4.10 编程思路:首先DATA段中,定义string存放字符 ...
- asp数组中REDIM的用法(动态数组)
asp数组中REDIM的用法(动态数组) 动态数组里面的一个语句,只能出现在过程里面,可以多次使用.可以改变数组大小,和维数 格式: REDIM [Preserve] 数组名(下标1[下标2....] ...
- 数组中哪些常用方法会修改原数组
一.不会改变原来数组的有: concat() concat() 方法用于连接两个或多个字符串. 该方法没有改变原有字符串,但是会返回连接两个或多个字符串新字符串. every() every() 方法 ...
- 利用for循环把遍历数组中的元素依次获取出来 数组笔记及基本知识点
利用for循环把遍历数组中的元素依次获取出来 数组索引号从0开始 所以i必须从0开始 i<6 <script>var arr = ['blue', 2, true, 4, 5, 6 ...
最新文章
- updateStateByKey--word count
- 今年蚊子有点慌!有人用100瓶花露水洗澡!
- mysql join原理_MySQL的JOIN(二):JOIN原理
- 计算机设计思想 —— 总线
- 一只青蛙跳向三个台阶_Java版剑指offer编程题第9题--变态跳台阶
- 数据存储与访问之——初见SQLite数据库
- 运动目标跟踪(九)--Struck跟踪原理
- Haxdoors of the Kaspersky Antivirus 6/7
- c语言旋转bmp图片程序,C语言实现BMP图像处理(任意角度旋转)
- 中兴网络设备交换机路由器查看所有端口光功率命令
- 无标度网络的生成模型
- 倍加福二维码测试2——C#界面程序开发
- 会议室管理系统(参考答案)
- Java程序员年薪40W是什么水平?税前还是税后?
- 零基础步入数据分析岗,应该怎么开始?
- vue项目中使用ramda库
- 【Ubantu系统制作U盘安装】
- 云服务器ECS的基本概念
- ASEMI肖特基二极管1N5819压降是什么意思
- Android开发——实现数字时钟