Php替换数组键

Php替换数组键,php,arrays,replace,Php,Arrays,Replace,如何用第一个数组的值替换第二个数组的数组键 $imgNumbers = array(); foreach($imgPat as $imgKey => $imgValue) { $imgNumbers[] = intval(substr($imgValue, strrpos($imgValue, '/') +4)); } $images = array(); foreach($imgPat as $imgKey =>

如何用第一个数组的值替换第二个数组的数组键

    $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);
    }
$imgNumbers
返回像
2
24
111
这样的整数


当创建第二个数组时,
$images
应具有作为数组键的
$imgNumbers

使用索引作为键写入
$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);
    }

创建第二个数组时,使用索引键写入
$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);
    }

您可以在单个循环中完成:

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

您可以在单个循环中完成:

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

最好将它们合并到一个循环中以获得更好的性能,如下所示:

$imgNumbers = array();
$images = array();
foreach($imgPat as $imgKey => $imgValue)
{
    $imgNumbers = intval(substr($imgValue, strrpos($imgValue, '/') +4));
    $images[$imgNumbers] = img_to_base64($imgValue);
}
前面的内容更具可读性,但您可以通过合并它们并忽略$imgNumbers brigde来减少流程,如下所示:

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

最好将它们合并到一个循环中以获得更好的性能,如下所示:

$imgNumbers = array();
$images = array();
foreach($imgPat as $imgKey => $imgValue)
{
    $imgNumbers = intval(substr($imgValue, strrpos($imgValue, '/') +4));
    $images[$imgNumbers] = img_to_base64($imgValue);
}
前面的内容更具可读性,但您可以通过合并它们并忽略$imgNumbers brigde来减少流程,如下所示:

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