Advertisement
efrdimitrov

Array Advanced Operations

Oct 30th, 2018
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.25 KB | None | 0 0
  1. <?php
  2. $arr = array_map('intval',explode(' ',readline()));
  3. $lines = readline();
  4. $sumLeft = 0;
  5. $invalidInsert = '';
  6. $invalidRemove = '';
  7. while($lines != 'End'){
  8.     $input = explode(' ', $lines);
  9.     if ($input[0] === 'Add') {
  10.         $arr[] = $input[1];
  11.     }
  12.     else if($input[0] == 'Insert'){
  13.         if(intval($input[2]) > count($arr)){
  14.             $invalidInsert = true;
  15.         }else {
  16.             array_splice($arr, intval($input[2]), 0, $input[1]);
  17.         }
  18.     }
  19.     else if ($input[0] === 'Remove') { // 0,1..
  20.         if(intval($input[1]) > count($arr) - 1){
  21.             $invalidRemove = true;
  22.         }else{
  23.             array_splice($arr, $input[1], 1);
  24.         }
  25.     }
  26.     else if(isset($input[2])){
  27.         if($input[1] == 'left') {
  28.             $left = $input[2] % count($arr);
  29.             $arr = array_merge(array_slice($arr, $left), array_slice($arr, 0, $left));
  30.         }
  31.         if($input[1] == 'right') {
  32.             $right = count($arr) - ($input[2] % count($arr));
  33.             $arr = array_merge(array_slice($arr, $right), array_slice($arr, 0, $right));
  34.         }
  35.     }
  36.     $lines = readline();
  37. }
  38. if($invalidInsert == true || $invalidRemove == true){
  39.     echo "Invalid index".PHP_EOL;
  40. }
  41. echo implode(' ', $arr);
  42.  
  43.  
  44. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement