替换数组键值

时间:2017-12-08 12:18:21

标签: php arrays replace key

我想将数组值(1,2,3和4)替换为相应的文本

1 = OK;
2 = nOK;
3 = Warning;
4 = Other

以下是一些代码:

$status = $row['status']; 

(我在mysql行1,2,3,4,1,2,4,4,1等中存储了$ status文本)

$myarray = array($status);
foreach($myarray as $key => $val)
{
    print_r($val);
}

输出是:

Array ( [0] => 2 [1] => 3 [2] => 1 [3] => 4 [4] => 1 [5] => 1 [6] => 3 [7] => 4 [8] => 1 [9] => 2 )

怎么做?谢谢!

4 个答案:

答案 0 :(得分:0)

$newArray= array_flip($oldArray);

这将为您的数组键提供"值"的值。 如果我理解正确的文字"你指的是数组值。

答案 1 :(得分:0)

$array = array(1,2,3,4);
$string_array = array(
                    1 => "OK",
                    2 => "nOK",
                    3 => "Warning",
                    4 => "Other"
                );
$output = array_flip($string_array);

答案 2 :(得分:0)

如果您的$myarray是多维数组,请使用以下代码

$array = [
    1 => 'OK'
    2 => 'nOK'
    3 => 'warning'
    4 => 'Other'
];

foreach($myarray as $key => $subarray)
{
    foreach($subarray as $ele)
    print_r($array[$ele]);
}

答案 3 :(得分:0)

你可以使用str_replace。
Str_replace接受数组,意味着你不必循环。

$repl =  array(1 =>"OK", 2 => "nOK", 3 => "Warning", 4 => "Other");

$myarray = array(1,2,3,4);

$new = str_replace($myarray,$repl, $myarray);

var_dump($new);

https://3v4l.org/tgL1q