예제 #1
0
파일: arr.php 프로젝트: Ragg-/CodeLapse
 /**
  * @covers \CodeLapse\Arr::delete
  * @dataProvider provider_personInfo
  */
 public function testDelete($person)
 {
     // Simple
     $deletion1 = $person;
     Arr::delete($deletion1, 'name');
     $this->assertFalse(array_key_exists('name', $deletion1), 'Arr::delete 1');
     // Nested
     $deletion2 = $person;
     Arr::delete($deletion2, 'location.coutry');
     $this->assertTrue(array_key_exists('location', $deletion2), 'Arr::delete 2-1');
     $this->assertFalse(array_key_exists('country', $deletion2), 'Arr::delete 2-2');
     // Multiple deletion with Simple & Nested
     $deletion3 = $person;
     Arr::delete($deletion3, array('location.country', 'tags'));
     $this->assertTrue(array_key_exists('location', $deletion3), 'Arr::delete 3-1');
     $this->assertFalse(array_key_exists('country', $deletion3['location']), 'Arr::delete 3-2');
     $this->assertFalse(array_key_exists('tags', $deletion3), 'Arr::delete 3-3');
     // Delete non exists key
     $deletion4 = $person;
     Arr::delete($deletion4, array('noExists', 'deep.noExists'));
     $this->assertTrue(empty(Arr::diffRecursive($deletion4, $person)), 'Arr::delete 4');
     Arr::delete($deletion4, 'name');
     $this->assertFalse(empty(Arr::diffRecursive($deletion4, $person)), 'Arr::delete 5');
 }
예제 #2
0
파일: Arr.php 프로젝트: Ragg-/CodeLapse
 /**
  * 配列から指定されたキーを除いた配列を生成します。
  *
  * ```php
  * $user = ['id' => 't0m1137', 'password' => 'somepasshash'];
  * $safeUser = Arr::except($user, 'password');
  * echo json_encode($safeUser); // => {"id":"t0m1137"}
  * ```
  *
  * @param $array        $array          要素を取り除く配列
  * @param string|array  $exceptKeys     除外するキーの配列
  * @return array
  */
 public static function except(array $array, $exceptKeys)
 {
     Arr::delete($array, $exceptKeys);
     return $array;
 }