2017-08-15 5 views
1

array_valuesを使用しようとしましたが、一時的なものです。このようなLaravel、アレイキーを永久に変更する方法は?

コントローラ

foreach($rows as $key => $value) 
{ 
    array_values($value); 
    //dd shows the key changes to [0], [1], [2] and so on 
} 

enter image description here

+1

あなたは永久に何を意味しますか?配列を保存しますか?もしそうなら、データをDBに保存する必要があります。 – DrRoach

+0

私がコンパクト($行)で見るためにそれを渡せば;それを見ると、それは正常に変わります – begineeeerrrr

+0

現在の配列のキーは何ですか?そして、あなたは彼らに何を欲しいのですか? – DrRoach

答えて

3

あなたはこのようにそれを行うことができ、

$rows = array_map(function($v){return array_values($v);}, $rows); 
+0

ああ素敵...きれいな – begineeeerrrr

+2

'array_map( 'array_values'、$ rows)'も動作します – apokryfos

+0

より美しく、素敵! – begineeeerrrr

1

何か作業をする必要があります:次に

$new = []; 
foreach($rows as $key => $value) 
{ 
    array_values($value); 
    $sub = []; 
    foreach ($value as $subKey => $subValue) { 
    $subKey = $key; 
    $sub[$key] = $subValue; 
    } 
    $new[$key] = $sub; 
    //dd shows the key changes to [0], [1], [2] and so on 
} 

$newの代わり$rowsを返します。あなたはインデックス付きの配列に連想配列を変更しようとしている場合

+0

うーん...これの横には別の方法がありますか?またはこれを行うための雄弁な方法がありますか? – begineeeerrrr

+0

配列キーは変更しないでください。コードははるかにクリーンにすることができますが、私は分で作業中ですので、時間がありません。あなたは、上記のベースとして使用し、ビットをきれいにし、おそらく答えを編集することができますか? – DrRoach

+0

ok私はクリーナーバージョンを待っている間にこれを最初に使用します – begineeeerrrr

0

、次の操作を行います。

$array = array_values($array); 
+0

ものを複雑にする必要はありません。 – GoogleMac

+0

は何も変わりません – begineeeerrrr

+0

@benineeeerrrr実際にはあなたが望むものを正確に実行します。ここをクリックしてください:https://code.sololearn.com/wF6d755yf5gG – GoogleMac

1

あなたはあなたができるlaravelを使用しているので、また:

$rows = collect($rows)->map(function ($value) { 
    return Arr::accessible($value)?collect($value)->values()->all():$value; 
})->all(); 
関連する問題