2017-05-30 22 views
0

我有一個數組像下面這些來自形式:刪除陣列值雙引號,同時節省 - PHP

array:4 [▼ 
    "login-history.view" => "true" 
    "login-history.create" => "true" 
    "login-history.edit" => "true" 
    "login-history.delete" => "true" 
] 

我想將其存儲在數據庫中是這樣的:

{ 
"login-history.view":true, //without double qoute in value true and false. 
"login-history.create":true, 
"login-history.edit":true, 
"login-history.delete":true 
} 

但是,當我救它,它總是將象下面這樣:

{ 
"login-history.view":"true", //I want to remove double quote around true and false for every value 
"login-history.create":"true", 
"login-history.edit":"true", 
"login-history.delete":"true" 
} 

我想保存記錄而沒有圍繞雙qoute。我目前只是簡單地將數值保存爲雄辯的數值節省

$permissions = $request->get('permissions'); 
$role = Sentinel::findRoleBySlug($slug); //slug is role slug ex. admin, manager, user 
$role->permissions = $permissions; 
$role->save() 

我該如何實現它?

更新

我使用Laravel 5.4和MySQL數據庫,Cartalyst哨兵軟件包ACL

+0

什麼是數據庫定義的蠻力解決問題的方法你在用嗎?在您進行保存的地方發佈更多代碼。 – Hakaishin

+0

'array_walk($ myArray,function(&$ value){$ value ==='true'?true:false;});' –

回答

0

這是上面

foreach($myArray as $key=>$value){ 
    $myArray[$key] = $value==='true' ? true : false; 
} 
+0

好用。你能解釋爲什麼'$ myArray [$ key] = $ value'?我們不能簡單地至少使用'$ value ===' – vijayrana

+0

@vijayrana,你必須在foreach中這樣做:'$ myArray [$ key] = $ value ==='true;'。 – Terminus

+0

它沒有任何意義@Terminus,「至少」意味着什麼?可以請你解釋一下 – vijayrana