0

ここに私の簡単なソースコードがあります

<?php

$index1 = 1;

$index2 = "<span style='color:red'>".$index1."</span>";
$index3 = intval("<span style='color:red'>".$index1."</span>");

$array = array(0=>"Apple", 1=>"Orange");

print_r($array[$index1]);//output will be "Orange"
print_r($array[$index3]);//output "Apple", this should be "Orange"
print_r($array[$index2]);//Notice: Undefined index: 1 


?>

出力プログラムに色付きのインデックスを取得する必要があります。intvalを追加して、is_int整数に変換しようとしました。しかし、何も起こりませんでした。配列の正しい色付きインデックスを取得するにはどうすればよいですか?

4

1 に答える 1

1

intval() よりも信頼性の高い数値抽出方法が必要です。Intval() は、明らかな数値ではないものをすべて「0」に変換します。たとえば、 preg_match() を試してみることをお勧めします。これを試してみてください:

preg_match('|>([0-9]+)<|', $index2, $matches);
print_r($matches);

または、より簡単な解決策は次のとおりです。

echo strip_tags($index2);
于 2013-08-21T07:56:15.083 に答える