Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] array_key_exists dla wielu kluczy
szybki
post
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
 
Start new topic
Odpowiedzi (1 - 2)
Tomplus
post
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
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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 23:41