2016-07-02 7 views
1

HI Ich hoffe, Sie können mir bei meinem Problem helfen. Ich habe dieses Array $ j (für Testzwecke) eingerichtet.array_key_exists Arbeitet nicht am einfachen Array

Array 
(
    [ssssjgjhs2sss] => http://diepresse.com/rss/MeinGeld 
) 

Ich mag andere Daten hinzufügen, aber es muss zunächst geprüft werden, ob der Schlüssel bereits in der Anordnung vorhanden ist, so verwende ich:

$nArr[$name] = $url; 
$j = (array)json_decode($result[0]->privateFeeds); 
if(array_key_exists($name,$j)){ 
    $j = array_merge((array)$j,$nArr); 
    echo "added"; 
} 
else{ 
    echo "Allready_in_array"; 
} 

Wenn ich etwas Neues hinzufügen, ich zu der Allways kommen sonst. Auch:

print_r(array_key_exists($name,$j)); 

Gibt nichts zurück.

Vielen Dank !!

+2

Was ist '$ arr' da? Was enthält '$ name'? Was enthält '$ result [0] -> privateFeeds'? Haben Sie sich die Mühe gemacht zu überprüfen, dass sie tatsächlich enthalten, was Sie denken, dass sie enthalten? –

+0

Ich habe $ arr gelöscht, habe es vergessen. $ name enthält eine Zeichenfolge aus einem $ _POST ["name"] und $ result [0] -> privateFeeds enthält dieses json {"ssssjgjhs2sss": "http: \/\ diepresse.com \/rss \/MeinGeld"} @ SverriM.Olsen – raviolican

+0

Ich glaube nicht, dass diese Art Casting notwendig sind, aber Sie können einfach zweiten Parameter von 'json_decode()' als wahr – Chay22

Antwort

0

Halten Sie es einfach: p

<?php 
$ar["ssssjgjhs2sss"] ="http://diepresse.com/rss/MeinGeld"; 
$name = "name"; 
$url="http://www.host.ext"; 

if(array_key_exists($name,$ar)){ 
    echo "this key is already in the array"; 
} 
else 
{ 
    echo " added "; 
    $ar[$name]=$url; 
} 
?> 
Verwandte Themen