这是我的简单源代码
<?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
将其转换为整数。但什么都没发生。
我该怎么做才能获得正确的数组彩色索引?
答案 0 :(得分:1)
您需要一种比intval()更可靠的提取数字的方法。 Intval()只会将不明显数字的任何内容转换为“0”。我建议您尝试使用preg_match()。尝试用这个来实现:
preg_match('|>([0-9]+)<|', $index2, $matches);
print_r($matches);
或者更简单的解决方案是:
echo strip_tags($index2);