这是一个数组:
$return = Array (
[9:00] => Array (
[0] => Array (
[iScheduleID] => 13
[iAdminID] => 4
[vStaff] => Ms. Lily
[vStudent] => Taylor Osborn
[iPositionID] => 0
),
[1] => Array (
[iScheduleID] => 14
[iAdminID] => 4
[vStaff] => Ms. Lily
[vStudent] => Smaran Meesala
[iPositionID] => 0
),
[2] => Array (
[iScheduleID] => 1
[iAdminID] => 3
[vStaff] => Ms. Sanchita
[vStudent] => Darian Newell
[iPositionID] => 2
),
[4] => Array (
[iScheduleID] => 26
[iAdminID] => 5
[vStaff] => Ms. Timberly
[vStudent] => Layla Shunnarah
[iPositionID] => 4
),
[5] => Array (
[iScheduleID] => 27
[iAdminID] => 5
[vStaff] => Ms. Timberly
[vStudent] => Haidi Sanchez
[iPositionID] => 4
)
)
)
您可以看到:
情况1:有2次iPositionID = 0,因为它们的两个iAdminID相同,因此一个iPositionID应该为0,而另一个iPositionID应该为1。对于iAdminID 5,这是相同的。
案例2:现在,您可以看到iAdminID 3只有一次,因此其iPositionID为2,而iPositionID 3已被跳过。
预期结果:
$return = Array (
[9:00] => Array (
[0] => Array (
[iScheduleID] => 13
[iAdminID] => 4
[vStaff] => Ms. Lily
[vStudent] => Taylor Osborn
[iPositionID] => 0
),
[1] => Array (
[iScheduleID] => 14
[iAdminID] => 4
[vStaff] => Ms. Lily
[vStudent] => Smaran Meesala
[iPositionID] => 1
),
[2] => Array (
[iScheduleID] => 1
[iAdminID] => 3
[vStaff] => Ms. Sanchita
[vStudent] => Darian Newell
[iPositionID] => 2
),
[4] => Array (
[iScheduleID] => 26
[iAdminID] => 5
[vStaff] => Ms. Timberly
[vStudent] => Layla Shunnarah
[iPositionID] => 4
),
[5] => Array (
[iScheduleID] => 27
[iAdminID] => 5
[vStaff] => Ms. Timberly
[vStudent] => Haidi Sanchez
[iPositionID] => 5
)
)
)
这是我尝试的:
<?php
$nine = $return['9:00'];
$total_nine = count($nine);
$t1['nine'] = $nine;
for ($i=0; $i < $total_nine; $i++) {
$t = $t1['nine'][$i]['iAdminID'];
if($t == 4) {
$t1['nine'][$i]['iPositionID'] = 0;
} else if($t == 3) {
$t1['nine'][$i]['iPositionID'] = 2;
} else if($t == 5) {
$t1['nine'][$i]['iPositionID'] = 4;
}
}
?>
这是您的解决方案
输入值
$return = array(
'9:00' => array(
array(
'iScheduleID' => 13,
'iAdminID' => 4,
'vStaff' => 'Ms. Lily',
'vStudent' => 'Taylor Osborn',
'iPositionID' => 0
),
array(
'iScheduleID' => 14,
'iAdminID' => 4,
'vStaff' => 'Ms. Lily',
'vStudent' => 'Smaran Meesala',
'iPositionID' => 0
),
array(
'iScheduleID' => 1,
'iAdminID' => 3,
'vStaff' => 'Ms. Sanchita',
'vStudent' => 'Darian Newell',
'iPositionID' => 2
),
array(
'iScheduleID' => 26,
'iAdminID' => 5,
'vStaff' => 'Ms. Timberly',
'vStudent' => 'Layla Shunnarah',
'iPositionID' => 4
),
array(
'iScheduleID' => 27,
'iAdminID' => 5,
'vStaff' => 'Ms. Timberly',
'vStudent' => 'Haidi Sanchez',
'iPositionID' => 4
)
)
);
解
$position = array();//for add iPositionID
$new = array();
foreach($return['9:00'] as $row){
if(in_array($row['iPositionID'],$position)) $row['iPositionID'] = ($row['iPositionID']+1);//Check current iPositionID is in $position array. If = Yes then +1 in current row['iPositionID']
$position[] = $row['iPositionID']; //add $row['iPositionID'] value in $position array
$new['9:00'][$row['iPositionID']] = $row; //new values in $new array
}
echo "<pre>";print_r($new);
输出量
Array
(
[9:00] => Array
(
[0] => Array
(
[iScheduleID] => 13
[iAdminID] => 4
[vStaff] => Ms. Lily
[vStudent] => Taylor Osborn
[iPositionID] => 0
)
[1] => Array
(
[iScheduleID] => 14
[iAdminID] => 4
[vStaff] => Ms. Lily
[vStudent] => Smaran Meesala
[iPositionID] => 1
)
[2] => Array
(
[iScheduleID] => 1
[iAdminID] => 3
[vStaff] => Ms. Sanchita
[vStudent] => Darian Newell
[iPositionID] => 2
)
[4] => Array
(
[iScheduleID] => 26
[iAdminID] => 5
[vStaff] => Ms. Timberly
[vStudent] => Layla Shunnarah
[iPositionID] => 4
)
[5] => Array
(
[iScheduleID] => 27
[iAdminID] => 5
[vStaff] => Ms. Timberly
[vStudent] => Haidi Sanchez
[iPositionID] => 5
)
)
)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句