2017-12-08 9 views
1

を交換してくださいここでテキスト私は配列の値を置換する配列のキー値は(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など)にこの

$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) 

これを行う方法?ありがとう!

+0

あなたの質問に手の込んだ:あなたの入力は何ですか、それは文字列または配列のですか?より正確になる – RomanPerekhrest

+0

元の配列はどこから来ていますか?あなたは十分な情報を私たちに与えていません。 –

+0

申し訳ありません、私の質問を編集しました – NickCaves

答えて

0
$newArray= array_flip($oldArray); 

これは、配列キーに "値"の値を与えます。 私が正しいと理解している場合、あなたが参照している "テキスト"は配列の値です。

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

あなた$myarrayは、あなたがこのためにstr_replaceを使用することができます使用次のコード

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

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

このコードがどのように動作するかわかりません。構文エラーはもちろんですが。あなたはこれの実行バージョンを作ることができますか?また、1つのレベルの多次元の場合にのみ機能します。 – Andreas

+0

@Andreasあなたが質問で分かるように、printステートメントの出力は配列で、 '$ myarray'は多次元配列 – pravindot17

+0

はいです。 OKですが、代替OPはどこに問い合わせていますか? – Andreas

0

多次元配列の場合。
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

関連する問題