php 数组比较取值 本帖最后由 lilysob 于 2011-12-26 19:57:49 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <?php $a=array("1_29","2_334","1","2","1_30","5_334","6","10"); var_dump($a); $keys=array(); $result=array(); foreach($a as $val){ if(is_numeric($val)) $keys[]=$val; } foreach($a as $val){ if(!is_numeric($val)){ $tmp=explode("_",$val); if(count($tmp)==2&&!in_array($tmp[0],$keys)) $result[]=$val; } } var_dump($result);?>输出:array(8) { [0]=> string(4) "1_29" [1]=> string(5) "2_334" [2]=> string(1) "1" [3]=> string(1) "2" [4]=> string(4) "1_30" [5]=> string(5) "5_334" [6]=> string(1) "6" [7]=> string(2) "10"}array(1) { [0]=> string(5) "5_334"} 很土的代码,不过结果是你要的.$Array = array ('1_29', '2_334', '1', '2', '1_30', '5_334', '6', '10' );$ReferArray = array ();$FixArray = array ();$MyArray = array ();foreach ( $Array as $Value ) { if (strpos ( $Value, '_' ) == false) { $ReferArray [] = $Value; } else { $FixArray [] = substr ( $Value, 0, 1 ); $MyArray [] = $Value; }}$FixArray = array_diff ( $FixArray, $ReferArray );foreach ( $FixArray as $Key => $Value ) { echo $MyArray [$Key];} 考试题?$ar = array ('1_29', '2_334', '1', '2', '1_30', '5_334', '6', '10' );foreach($ar as $k=>$v) { $c = strtok($v, '_'); if($c != $v && ! in_array($c, $ar)) $r[$k] = $v;}print_r($r);Array( [5] => 5_334) mysql 查询 #新手来袭# 关于mysqli和mysql函数插入数据出现乱码 虚拟空间的php程序不能访问mysql 如何写复选框 一个搜索表单select传值问题请求帮助 求助,我的php不能显示错误信息 关于MySQL的查询结果 那里有好的源码下载,来者给分! javascript便量中怎么接受php传递过来的变量? php session 保持会话 PHP 在table中,每多一行,table上方就多一个换行
var_dump($a); $keys=array();
$result=array();
foreach($a as $val){
if(is_numeric($val))
$keys[]=$val;
}
foreach($a as $val){
if(!is_numeric($val)){
$tmp=explode("_",$val);
if(count($tmp)==2&&!in_array($tmp[0],$keys))
$result[]=$val;
}
}
var_dump($result);
?>输出:array(8) {
[0]=>
string(4) "1_29"
[1]=>
string(5) "2_334"
[2]=>
string(1) "1"
[3]=>
string(1) "2"
[4]=>
string(4) "1_30"
[5]=>
string(5) "5_334"
[6]=>
string(1) "6"
[7]=>
string(2) "10"
}
array(1) {
[0]=>
string(5) "5_334"
}
$ReferArray = array ();
$FixArray = array ();
$MyArray = array ();
foreach ( $Array as $Value ) {
if (strpos ( $Value, '_' ) == false) {
$ReferArray [] = $Value;
} else {
$FixArray [] = substr ( $Value, 0, 1 );
$MyArray [] = $Value;
}
}$FixArray = array_diff ( $FixArray, $ReferArray );
foreach ( $FixArray as $Key => $Value ) {
echo $MyArray [$Key];
}
$c = strtok($v, '_');
if($c != $v && ! in_array($c, $ar))
$r[$k] = $v;
}print_r($r);Array
(
[5] => 5_334
)