Vergelijk 2 arrays

Status
Niet open voor verdere reacties.

Deparis

Gebruiker
Lid geworden
18 apr 2013
Berichten
80
Hi,

Ik heb een grote database met leden (1400) en somminge database tabellen zijn vervuild met rijen van niet meer bestaande leden.
Nu ben ik al dagen bezig om een script te maken welke de ID's van bestaande leden tabel vergelijkt met de ID's van een andere tabel.

De site maakt gebruik van de smarty engine.
de leden tabel query geeft een array als (ingekort):
Code:
Array ( [0] => Array ( [id] => 2 ) [1] => Array ( [id] => 94 ) [2] => Array ( [id] => 95 ) [3] => Array ( [id] => 176 ))

de mailtabel query geeft een array als (ingekort):
Code:
Array ( [0] => Array ( [owner] => 957 ) [1] => Array ( [owner] => 94 ) )

Ik kom er maar niet achter hoe ik deze 2 arrays kan vergelijken op unieke waarden.
In dit geval [owner] => 94 komt wél voor in de ledentabel en [owner]=> 957 niét..

Hoe kan ik nu [owner]=> 957 zichtbaar maken?
 
Laatst bewerkt:
Als een database hebt, kun je dit toch doen met de database? Anders kun je dit redelijk eenvoudig doen met een paar regels PHP.

Je verhaal is moeilijk te volgen en het is ook onduidelijk waarom het in PHP moet en hoe de uitkomst eruit moet zien. Is dit eenmalig? elke dag? etc.
 
bekijk eens
PHP:
$view = '<h1 class="text-center">%title->value%</h1>	
   %title%
   <h1 class="text-center">%title->value2%</h1>	
   %title2%
   <h1 class="text-center">%title->value3%</h1>	
   %title3%
   <h1 class="text-center">%title->value4%</h1>	
   %title4%';

   preg_match_all('|%(.*->.*)%|',$view,$vals);
print "vals<pre>".print_r($vals,true)."</pre>";
   preg_match_all('|%(.*)%|',$view,$keys);
print "keys<pre>".print_r($keys,true)."</pre>";
   $vals = $vals[1];
   $keys =array_diff($keys[1],$vals);
print "keys<pre>".print_r($keys,true)."</pre>";
 
Laatst bewerkt:
Hi wampier,
Sorry voor de onduidelijkheid;)
Het is niet elke dag maar éénmalig, door een fout in de software zijn, bij het opzeggen van een lid, sommige tabellen
niet opgeschoond van gegevens van dat lid.
Ik heb dit nu rechtgezet maar zit dus nog met vervuilde tabellen.. (met niet meer bestaande id's)

Heb al veel geprobeerd zoals met array_diff ,array_diff_key en array_values maar niets lukt.
Als ik de arrays doorgeef aan de template tpl en doe {foreach item=item key=key from=$user}
dan krijg ik (ingekort);
Code:
userid = 2 
userid = 94 
userid = 95 
userid = 176 
userid = 179 
userid = 195 
userid = 197 
userid = 198 
userid = 200

Nu wil ik kijken welke waarde van een andere string
Code:
userid = 957
userid = 94

daar niet in voorkomt. (in dit geval dus 957)
Heb ook al gezocht naar een javascript oplossing maar niet gevonden.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan