2015-02-07 81 views
0

我想在数组中使用变量字符串,如我保存的数组值,任何文件或文档或变量,我想在数组中使用它,但我没有这样做。在数组中使用变量字符串php

$var = "'title' => 'This is my title','name' => 'My name is John'"; 

$ar = array($var); 

echo $ar['title'].'<br>'.$ar['name']; 

错误我得到

Notice: Undefined index: title 
Notice: Undefined index: name 
+0

看一看这个所以问题,也许它有助于你想要存档:http://stackoverflow.com/questions/11267434/php-how-to-turn-a-string-that-c​​ontains-an-array-expression-in-an - 实际数组 – Bjoern 2015-02-07 09:25:41

回答

0

试试这个:

$ar = array('title' => 'This is my title','name' => 'My name is John'); 
+0

我知道我可以这样做,但我想使用变量并假定数组值被保存在变量中,像这样不改变 '$ var =“'title'=>'这是我的标题','name'=>'我的名字是John'';' – John 2015-02-07 09:28:55

+0

'$ var'正被存储作为第0个位置上的单个维度值。所以如果你回显'$ ar [0]'会给你$ var值。你可以使用'explode'来获取数组。 'explode(',',$ var);' – 2015-02-07 09:38:45

1

您可以使用的strtok()功能将字符串分割为一个分隔符的数组。

试试下面的代码:

<?php 
    $var = "'title' => 'This is my title','name' => 'My name is John'"; 
    $ar = strtok($var,","); 
    while ($ar!==false) 
    { 
    echo "$ar<br>"; 
    $ar=strtok(","); 
    } 
?> 

在这里,我已经使用了 “” 作为分隔符。

输出:

'标题'=> '这是我的标题'

'名'=>'我的名字是约翰

+0

是的,但我想在变量中赋予标题和名称的值,所以我可以在任何地方使用它,比如 '$ mytitle = $ var ['title']; echo $ mytitle; 输出将是 '这是我的标题'' – John 2015-02-07 09:38:08

+0

请认为该数组不是具有键值对的映射。你问的问题不能用Array实现。 – 2015-02-07 09:51:20