Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] array_key_exists dla wielu kluczy
szybki
post 20.04.2017, 08:07:44
Post #1





Grupa: Zarejestrowani
Postów: 85
Pomógł: 0
Dołączył: 18.06.2014

Ostrzeżenie: (0%)
-----


Jak sprawdzić czy istnieją klucze w tablicy, kilka jednocześnie?

  1. $keys = ['foo', 'bar'];
  2.  
  3. $aa = [
  4. 'A' => ['a', 'c','bar'],
  5. 'B' => ['g', 'd','foo'],
  6. 'C' => ['g', 'd','foo', 'bar'],
  7. 'D' => ['g', 'd','t'],
  8. ];


chciałbym żeby dla A, B i C zrwróciło True, jednak czy jest inny sposób, niż przepuszczenie to w pętli?

Ten post edytował szybki 20.04.2017, 08:13:14
Go to the top of the page
+Quote Post
Tomplus
post 20.04.2017, 09:37:08
Post #2





Grupa: Zarejestrowani
Postów: 1 879
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

Ostrzeżenie: (0%)
-----


Niestety, ale będziesz musiał sprawdzić to w pętli:

  1. foreach($szukane as $val) {
  2. if( !array_key_exists($val, $aa) ) {
  3. $arrayIncomplete = true;
  4. break;
  5. }
  6. }
  7. if($arrayIncomplete === true) {
  8. echo "tablica AA jest niekompletna";
  9. }
Go to the top of the page
+Quote Post
Pyton_000
post 20.04.2017, 09:42:58
Post #3





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Albo tak:

  1. <?php
  2.  
  3. $keys = ['foo', 'bar'];
  4.  
  5. $aa = [
  6. 'A' => ['a', 'c','bar'],
  7. 'B' => ['g', 'd','foo'],
  8. 'C' => ['g', 'd','foo', 'bar'],
  9. 'D' => ['g', 'd','t'],
  10. ];
  11.  
  12. $output = array_filter($aa, function($data) use ($keys) {
  13. return array_intersect($data, $keys);
  14. });
  15.  
  16. var_dump($output);
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 10:01