我遇到了 PHP 陣列的問題。基本上我想按其值對二維陣列進行排序。如果我初始化文字陣列值并排序它作業正常。但是文字陣列值是在運行時創建的,并分配給一個變數,該變數進一步分配給陣列,該陣列假設要排序,但它不是用變數賦值給陣列進行排序。在我作業過的其他語言中,我們在變數之前使用 & 符號來獲取其文字值,不確定我在 PHP 中使用的是什么。
這是作業正常的示例,它按年齡排序
$age = array("Giselle"=>"25", "Amara"=>"15", "Josephine"=>"28", "Penelope"=>"18" );
asort($age);
這是分配給不排序的陣列的變數的相同示例
$custprof = '"Giselle"=>"25", "Amara"=>"15", "Josephine"=>"28", "Penelope"=>"18"';
$age = array($custprof);
asort($age);
將不勝感激任何幫助。
uj5u.com熱心網友回復:
為了避免安全風險,您可以使用如下所示的爆炸功能。
$custprof = '"Giselle"=>"25", "Amara"=>"15", "Josephine"=>"28", "Penelope"=>"18"';
$custprof = explode('", "', $custprof);
$age = [];
foreach( $custprof as $single_custprof )
{
$array = explode('"=>"', $single_custprof);
$key = str_replace('"', "", $array[0]);
$value = str_replace('"', "", $array[1]);
$age[$key] = $value;
}
asort( $age );
uj5u.com熱心網友回復:
嘗試這個。
$custprof = '"Giselle"=>"25", "Amara"=>"15", "Josephine"=>"28", "Penelope"=>"18"';
eval( '$age = array(' . $custprof . ');' );
asort( $age );
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/322936.html
上一篇:Laravel管理員更新用戶資訊,更新自己的管理員帳戶資訊時重復電子郵件條目
下一篇:里面的值包括
