Vergelijk de array-toetsen van de ene array met een andere array

Ik vraag me af of er een functie in PHP is waarmee de array-sleutels uit een andere array kunnen worden vergeleken en de arrays die niet in de andere array voorkomen bijvoorbeeld kunnen retourneren:

$sample1 = array('val1', 'val2', 'val3', 'val4');
$sample2 = array('val1'=>'test','val4'=>'uhm...');

Als ik deze twee arrays vergelijk, moet ik kunnen vaststellen dat in sample2-variabele de 2 associatieve array-indices val2 en val3 niet bestaan ​​als ik probeer de resultaten te baseren op de sample1-variabele.

Zijn er functies in PHP die dit kunnen doen?

0
Dit bericht zou je vraag moeten beantwoorden stackoverflow.com/ vragen/2917243/& hellip;
toegevoegd de auteur kz3, de bron
Geen probleem, fijne codering
toegevoegd de auteur kz3, de bron
Bedankt voor de link die de array_key_exists echt voor mij werkt. :)
toegevoegd de auteur Christopher Pelayo, de bron

1 antwoord

Er is een php-functie met de naam array_diff_key:

<?php
$sample1 = array('val1'=>'char lang', 'val2'=>'wew ambot', 'val3'=>'aw', 'val4'=>'testing lang');
$sample2 = array('val1'=>'test','val4'=>'uhm...');
$difference = array_diff_key($sample1, $sample2);
//print_r($difference); would display val2, val3
?>

PHP handleiding

3
toegevoegd
bedankt dit is echt een goede functie het vergelijkt associatieve sleutels voor 2 associatieve matrices en retourneert het verschil in array-gegevenstype, maar ik heb de post bijgewerkt. Ik heb zojuist een fout gemaakt, de andere is eigenlijk een eendimensionale array die de array_key_exists voor mij heeft gewerkt. :)
toegevoegd de auteur Christopher Pelayo, de bron