0

次の配列からキーと値のペアを変数に抽出する必要がありました

$data = array(
    'Quotation.id' => 1,
    'Quotation.project_id' => 2
);

extract($data);

.は PHP では無効な文字であるため、実行時に追加の変数は定義されませんextract

どうにかしてドットを削除し、フィールド全体をキャメルケースに変更したいと思います。つまり、 のキーを事前に知らなくても、$dataどうにかして新しく定義された変数として取得したいと考えています。

$quotationId = 1;
$quotationProjectId = 2;

どうすればこれを達成できますか?

新しく定義された変数が既存の変数と衝突する可能性がある状況は無視してください。これは起こらないと仮定してください。

4

2 に答える 2

0

あなたはこれを試すことができます

<?php

$data = array(
    'Quotation.id' => 1,
    'Quotation.project_id' => 2
);

foreach($data as $key=>$value) {
   $keys = array_map('ucfirst',preg_split( "/(\._)/", $key ));
   $newKey = implode($keys);
   unset($data[$key]);
   $data[$newKey] = $value;
}

export($data);
?>
于 2013-08-28T08:40:29.000 に答える