微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

键/值对作为 PHP 中的变量

如何解决键/值对作为 PHP 中的变量

我已将一个 csv 文件解析为一个关联数组,如下所示:

array(5) {
[0]=>  array(13) { 
            ["First Name"]=>string(7) "Name"
            ["Last Name"]=>string(14) "Last name"
            ["Login"]=>string(22) "name.lastname"
            ["Email"]=>string(27) "email"
…

我现在想将每个键的值写入一个带有键名的变量中,例如:

$FirstName = "Name";
$LastName = "Last name";

由于我对编程和 PHP 比较陌生,我正在为此苦苦挣扎,希望您能给我一个提示?

编辑:这就是我创建数组的方式:

function csv_to_array($filename='',$delimiter=';')
{
    if(!file_exists($filename) || !is_readable($filename))
        return FALSE;

    $header = NULL;
    $data = array();
    if (($handle = fopen($filename,'r')) !== FALSE)
    {
        while (($row = fgetcsv($handle,1000,$delimiter)) !== FALSE)
        {
            if(!$header)
                $header = $row;
            else
                $data[] = array_combine($header,$row);
        }
        fclose($handle);
    }
    return $data;
}

$a_csv = csv_to_array($file,';');

解决方法

如果你的数组是这样的

array(5) {
[0]=>  array(13) { 
            ["foo"]=>string(7) "fooValue"
            ["bar"]=>string(7) "barValue",

要动态创建变量,首先应该做一个循环

    foreach ($first_arrays as $first_array)
    {
        foreach ($first_array as $key => $value) {
            $name = str_replace(" ","",$key);  //replace spaces
            ${$name} = $value;   //create PHP variable with your key
        }
    }

echo $foo; // will be fooValue
// here you have all variables that named by your array keys
,

最后的解决方案是使用 foreach 遍历数组,然后调用键并分配它们:

foreach ($csv as $value){

    $FirstName = $value["First"];
    $LastName = $value["Last"];
...
}

我显然让事情变得更难了。无论如何感谢您的输入:)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。