Guest User

Untitled

a guest
Jan 22nd, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.96 KB | None | 0 0
  1. $student = [ABC, DEF];
  2.  
  3. public function getData()
  4. {
  5.  
  6.  
  7. $newData = $newDataId = $newDataStudIds = $DataIds = [];
  8. foreach ($student as $key => $value) {
  9.  
  10. $Ids = [69, 70 ,71];
  11.  
  12. //for above Ids foreach is executed
  13. foreach ($Ids as $Id) {
  14.  
  15. $data = $this->api->request('marks', [
  16. 'Id' => $Id,
  17. 'teacherId' => 1
  18. ]);
  19.  
  20. if ($data != 'error') {
  21.  
  22. $body = json_decode($data->getBody(), true);
  23.  
  24. foreach ($body['student'] as $student) {
  25. $newData[$body['profile']['stud_id']][] = $student['stud_id'];
  26. /* so $newData will contain
  27. array(69 => array('0'=>1,'1'=>"2"),
  28. 70 => array('0'=>2,'1'=>"3"),
  29. 71 => array('0'=>3,'1'=>"1")
  30. )*/
  31. }
  32. }
  33. }
  34.  
  35. $newDataId = array_keys($newData);
  36. $newDataStudIds = array_values($newData);
  37.  
  38. $DataIds = $this->implodeAllArray(',', $newDataStudIds);
  39. $DataIds = implode(',',array_unique(explode(',', $DataIds)));
  40. /*
  41. i want $DataIds = [69] => [1 ,2]
  42. [70] => [2, 3]
  43. [71] => [3, 1]
  44.  
  45. But this $DataIds return array like
  46. [69] => [1, 2 ,2 ,3]
  47. [70] => [1, 2 ,2 ,3]
  48. [71] => [1, 2 ,2 ,3]
  49. */
  50.  
  51. }
  52.  
  53. }
  54.  
  55. public function implodeAllArray($glue, $arr){
  56. for ($i=0; $i<count($arr); $i++) {
  57. if (@is_array($arr[$i]))
  58. $arr[$i] = $this->implodeAllArray($glue, $arr[$i]);
  59. }
  60. return implode($glue, $arr);
  61. }
  62.  
  63. i want $DataIds =
  64.  
  65. [69] => [1 ,2]
  66. [70] => [2, 3]
  67. [71] => [3, 1]
  68.  
  69. But this $DataIds return array like
  70. [69] => [1, 2 ,2 ,3]
  71. [70] => [1, 2 ,2 ,3]
  72. [71] => [1, 2 ,2 ,3]
Add Comment
Please, Sign In to add comment