簡體   English   中英

鍵/值對作為 PHP 中的變量

[英]Key/Value pair as variable in 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"];
...
}

我顯然讓事情變得更難了。 無論如何感謝您的輸入:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM