Array
(
[1] => 3
[2] => 3
[3] => 4
[4] => 4
[5] => 4
[6] => 3
[7] => 4
[8] => 4
[10] => 4
[11] => 4
[12] => 5
[13] => 4
[14] => 1
[16] => 3
[17] => 2
[18] => 3
[19] => 4
[22] => 1
[23] => 2
[24] => 4
[25] => 3
[26] => 3
[27] => 2
[28] => 3
[29] => 3
[30] => 4
[31] => 4
[32] => 4
[33] => 4
[34] => 5
[35] => 4
[36] => 3
[37] => 4
[38] => 4
[39] => 4
[40] => 3
[41] => 3
[42] => 3
[43] => 3
[44] => 2
[46] => 4
[49] => 4
[50] => 1
[51] => 1
[53] => 1
[55] => 3
[56] => 4
[57] => 4
[58] => 4
[59] => 4
[60] => 3
[61] => 3
[62] => 4
[63] => 5
[64] => 4
[65] => 1
[66] => 2
[67] => 3
)public function countOfconstitutionType ( $arrayOptionsId ) {$strFractionType = "";
$resultFraction = "";
if ( isset($arrayOptionsId) && is_array($arrayOptionsId) && !empty($arrayOptionsId) ) {
$pingheFraction = "";
foreach( $arrayOptionsId as $key=>$value ) {
//echo "key:".$key."--".$value."<br>";
print_r($arrayOptionsId);
if ( $key == 17 || $key == 18 || $key == 19 || $key == 5 || $key == 13 || $key == 22 || $key == 23 ) {
$yangxFraction += $value ;
echo "111:".$yangxFraction."<br>";
}if ( $key == 24 || $key == 25 || $key == 26 || $key == 27 || $key == 28 || $key == 29 || $key == 30 || $key == 31 ) {
$yinxFraction += $value ;}if ( $key == 2 || $key == 10 || $key == 11 || $key == 12 || $key == 13 || $key == 14 || $key == 3 || $key == 16 ) {
$qixFraction += $value ;}if ( $key == 32 || $key == 33 || $key == 34 || $key == 35 || $key == 36 || $key == 37 || $key == 38 || $key == 39 ) {
$tansFraction += $value ;}if ( $key == 40 || $key == 41 || $key == 42 || $key == 43 || $key == 44 || $key == 45 || $key == 46 ) {
$wenrFraction += $value ;}if ( $key == 47 || $key == 48 || $key == 49 || $key == 50 || $key == 51 || $key == 8 || $key == 53 ) {
$xuyFraction += $value ;}if ( $key == 61 || $key == 62 || $key == 63 || $key == 64 || $key == 65 || $key == 66 || $key == 67 ) {
$tedFraction += $value ;}if ( $key == 4 || $key == 55 || $key == 56 || $key == 57 || $key == 58 || $key == 59 || $key == 60 ) {
$qiyFraction += $value ;}if ( $key == 1 || $key == 2 || $key == 3 || $key == 4 || $key == 5 || $key == 6 || $key == 7 || $key == 8 ) {
if ( ( $key == 2 || $key == 3 || $key == 4 || $key == 5 || $key == 7 || $key == 8 ) && $value == 1 ) { $value = 5 ;
} if ( ( $key == 2 || $key == 3 || $key == 4 || $key == 5 || $key == 7 || $key == 8 ) && $value == 2 ) { $value = 4 ;
} if ( ( $key == 2 || $key == 3 || $key == 4 || $key == 5 || $key == 7 || $key == 8 ) && $value == 3 ) { $value = 3 ;
} if ( ( $key == 2 || $key == 3 || $key == 4 || $key == 5 || $key == 7 || $key == 8 ) && $value == 4 ) { $value = 2 ;
} if ( ( $key == 2 || $key == 3 || $key == 4 || $key == 5 || $key == 7 || $key == 8 ) && $value == 5 ) { $value = 1 ;
} $pingheFraction += $value ;}$resultFraction = $yangxFraction."#".$yinxFraction."#".$qixFraction."#".$tansFraction."#".$wenrFraction."#".$xuyFraction."#".$tedFraction."#".$qiyFraction."#".$pingheFraction ;return $resultFraction;
}
}
}
function countOfconstitutionType ( $arrayOptionsId ) { $strFractionType = "";
$resultFraction = "";
if ( isset($arrayOptionsId) && is_array($arrayOptionsId) && !empty($arrayOptionsId) )
{
$pingheFraction = "";
$k=1;
foreach( $arrayOptionsId as $key=>$value )
{
if ( in_array($k,array(17,18,19,5,13,22,23)) )
{
$yangxFraction += $value ;
echo "111:".$yangxFraction."<br>";
}
if (in_array($k,range(24,31)))
{
$yinxFraction += $value ;
}
if (in_array($k,array(2,10,11,12,13,14,16,3)))
{
$qixFraction += $value ;
}
if (in_array($k,range(32,39)))
{
$tansFraction += $value ;
}
if (in_array($k,range(40,46)))
{
$wenrFraction += $value ;
}
if (in_array($k,array(8,47,48,49,50,51,53)))
{
$xuyFraction += $value ;
}
if (in_array($k,range(61,67)))
{
$tedFraction += $value ;
}
if (in_array($k,array(4,55,56,57,58,59,60)))
{
$qiyFraction += $value ;
}
if (in_array($k,range(1,8)))
{
if ( in_array($k,range(2,3,4,5,7,8))&&$value == 1 )
{
$value = 5 ;
}
if ( in_array($k,range(2,3,4,5,7,8))&& $value == 2 )
{
$value = 4 ;
}
if ( in_array($k,range(2,3,4,5,7,8)) && $value == 3 )
{
$value = 3 ;
}
if ( in_array($k,range(2,3,4,5,7,8)) && $value == 4 )
{
$value = 2 ;
}
if ( in_array($k,range(2,3,4,5,7,8))&& $value == 5 )
{
$value = 1 ;
}
$pingheFraction += $value ;
}
$k++;
}
return $yangxFraction."#".$yinxFraction."#".$qixFraction."#".$tansFraction."#".$wenrFraction."#".$xuyFraction."#".$tedFraction."#".$qiyFraction."#".$pingheFraction ;
}
else
{
return false;
}
}
?>
} //<== 这里少了个 }
}$resultFraction = $yangxFraction."#".$yinxFraction."#".$qixFraction."#".$tansFraction."#".$wenrFraction."#".$xuyFraction."#".$tedFraction."#".$qiyFraction."#".$pingheFraction ;return $resultFraction;
} <== 这里多了个 } 请删去
}
}
if ( ( $key == 2 || $key == 3 || $key == 4 || $key == 5 || $key == 7 || $key == 8 ) && $value == 5 ) { $value = 1 ;
}修改成
$array=array(2,3,4,5,7,8,);
$array2=array(5);
if (in_array($key,$array)&&in_array($value,$array2)){
$value = 1 ;
}
会不会好很多?起码效率上去了吧...没仔细看 应该还有能改的地方。
foreach( $arrayOptionsId as $key=>$value ) {
//echo "key:".$key."--".$value."<br>";
print_r($arrayOptionsId);只被执行了一次
显然是循环被以外终止如果你不打算运行他的代码,就应该询问他都输出了什么
<?php
function countOfconstitutionType ( $arrayOptionsId ) {
$strFractionType = "";
$resultFraction = "";
if ( isset($arrayOptionsId) && is_array($arrayOptionsId) && !empty($arrayOptionsId)){
$pingheFraction = "";
$k=1;
$condition1=array(
array(17,18,19,5,13,22,23),
range(24,31),
array(2,10,11,12,13,14,16,3),
range(32,39),
range(40,46),
array(8,47,48,49,50,51,53),
range(61,67),
array(4,55,56,57,58,59,60),
);
foreach( $arrayOptionsId as $key=>$value ) {
foreach($condition1 as $ckey=>$cval){
if(in_array($k,$cval)) {
$var[$ckey]+=$value ;
}
};
if (in_array($k,range(1,8))){
if (in_array($k,array(2,3,4,5,7,8))&& in_array($value,range(1,5))){
$value = 6-$value ;
}
$pingheFraction += $value ;
}
$k++;
}
return implode('#',$var)."#".$pingheFraction ;
}
else{
return false;
}
}
?>
Array ( [1] => 5 [2] => 1 [3] => 1 [4] => 2 [5] => 1 [6] => 5 [7] => 2 [8] => 2 [10] => 1 [11] => 1 [12] => 1 [13] => 1 [14] => 1 [16] => 1 [17] => 1 [18] => 1 [19] => 1 [22] => 1 [23] => 3 [24] => 3 [25] => 2 [26] => 4 [27] => 1 [28] => 2 [29] => 2 [30] => 3 [31] => 3 [32] => 1 [33] => 1 [34] => 1 [35] => 5 [36] => 2 [37] => 4 [38] => 4 [39] => 3 [40] => 4 [41] => 2 [42] => 4 [43] => 2 [44] => 3 [46] => 1 [49] => 1 [50] => 1 [51] => 1 [53] => 1 [55] => 2 [56] => 2 [57] => 2 [58] => 1 [59] => 2 [60] => 4 [61] => 2 [62] => 2 [63] => 2 [64] => 2 [65] => 2 [66] => 1 [67] => 4 )
在array(17,18,19,5,13,22,23),这个数组里面我手工相加1+1+1+1+1+1+3=9,可是程序算出来4#14#18#29#39#64#11#107#-25 使。
Array
(
[1] => 5
[2] => 1
[3] => 1
[4] => 2
[5] => 1
[6] => 5
[7] => 2
[8] => 2
[10] => 1
[11] => 1
[12] => 1
[13] => 1
[14] => 1
[16] => 1
[17] => 1
[18] => 1
[19] => 1
[22] => 1
[23] => 3
[24] => 3
[25] => 2
[26] => 4
[27] => 1
[28] => 2
[29] => 2
[30] => 3
[31] => 3
[32] => 1
[33] => 1
[34] => 1
[35] => 5
[36] => 2
[37] => 4
[38] => 4
[39] => 3
[40] => 4
[41] => 2
[42] => 4
[43] => 2
[44] => 3
[46] => 1
[49] => 1
[50] => 1
[51] => 1
[53] => 1
[55] => 2
[56] => 2
[57] => 2
[58] => 1
[59] => 2
[60] => 4
[61] => 2
[62] => 2
[63] => 2
[64] => 2
[65] => 2
[66] => 1
[67] => 4
)算出来结果都不对,兄弟