2017-06-13 6 views
0

2番目の配列の配列キーを1番目の配列の値に置き換えるにはどうすればよいですか?PHP置換アレイキー

224または 111のような整数を返します $imgNumbers
$imgNumbers = array(); 
    foreach($imgPat as $imgKey => $imgValue) 
    { 
     $imgNumbers[] = intval(substr($imgValue, strrpos($imgValue, '/') +4)); 
    } 


    $images = array(); 
    foreach($imgPat as $imgKey => $imgValue) { 
     $images[] = img_to_base64($imgValue); 
    } 

および$imagesは、配列キー$imgNumbersを持ちます。二番目の配列は

$imgNumbers = array(); 
    foreach($imgPat as $imgKey => $imgValue) 
    { 
     $imgNumbers[] = intval(substr($imgValue, strrpos($imgValue, '/') +4)); 
    } 


    $images = array(); 
    foreach($imgPat as $imgKey => $imgValue) { 
     $images[$imgNumbers[$imgKey]] = img_to_base64($imgValue); 
    } 

答えて

4

を作成したとき

1

はあなたが単一のループでそれを行うことができ、キーとインデックスと$imgNumbersの値を書く:パフォーマンス向上のために一つのループでそれらをマージする

$images = array(); 
foreach($imgPat as $imgKey => $imgValue) 
{ 
    $imgNumbers = intval(substr($imgValue, strrpos($imgValue, '/') +4)); 
    $images[$imgNumbers] = img_to_base64($imgValue); 
} 
0

ベターこのようなもの:

$imgNumbers = array(); 
$images = array(); 
foreach($imgPat as $imgKey => $imgValue) 
{ 
    $imgNumbers = intval(substr($imgValue, strrpos($imgValue, '/') +4)); 
    $images[$imgNumbers] = img_to_base64($imgValue); 
} 

前のページに戻るreadablあなたはこれらをマージして$ imgNumbers brigdeを無視してプロセスを減らすことができます:

$images = array(); 
foreach($imgPat as $imgKey => $imgValue) 
{ 
    $images[intval(substr($imgValue, strrpos($imgValue, '/') +4))] = img_to_base64($imgValue); 
}