Kom ihåg mig?

Vad kan man ha som array key?

Ämnesverktyg Visningsalternativ
Oläst 2010-03-01, 23:50 #1
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Standard Vad kan man ha som array key?

Hej
Jag använder en array i PHP som en lista där key är ett namn och dess värde är en webbadress. Sedan använder jag array_key_exists för att kolla om namnet finns och hämtar isf. webbadressen när det blir aktuellt. Det fungerar jättebra oftast, men ibland inte alls. Tror det har med parenteser att göra i mitt fall.

Är det så att parenteser är otillåtna i keys eller vad? Någon som kan komma på något annat som kan vara fel...?
Althalos är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-03-02, 07:44 #2
eliasson eliasson är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Dec 2005
Inlägg: 1 863
eliasson eliasson är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Dec 2005
Inlägg: 1 863
Skall vi gissa eller blir det lättare om du visar en del av koden?
eliasson är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-03-02, 07:55 #3
BjörnJ BjörnJ är inte uppkopplad
Mycket flitig postare
 
Reg.datum: May 2009
Inlägg: 971
BjörnJ BjörnJ är inte uppkopplad
Mycket flitig postare
 
Reg.datum: May 2009
Inlägg: 971
Om du inte behöver kunna lista keys från arrayen skulle du kunna använda en hash av namnet som key.
BjörnJ är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-03-02, 10:20 #4
Magnus_A Magnus_A är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: May 2006
Inlägg: 2 604
Magnus_A Magnus_A är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: May 2006
Inlägg: 2 604
Alla strängar ska fungera. Sen om det är praktiskt eller inte är ditt eget problem och det lägger jag mig inte i.
Magnus_A är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-03-02, 18:02 #5
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Jag beskrev min kod, men här är ett exempel då.

function fn($value)
{
$array = array('Name' => 'http://www.someurl.com/fjd-blaha',
'Name (2812 extra descr)' => 'http://www.someurl.com/fjd-blaha',
'Name (2000-2100)' => 'http://www.someurl.com/fjd-blaha');
if(array_key_exists($value, $array)) echo $value;
}

Funktionen kallas sedan i en annan fil där argumentet $value har hämtats ifrån en databas. Båda filerna har teckenkodning Latin 1. Funktion fungerar (d.v.s. skriver ut) för Name men inte för Name (2000-2100) ... arrayn är rätt, det vet jag. $value är också rätt.

Jag är nöjd med min lösning i övrigt och vill inte byta till en mer praktisk lösning, det är inte det jag är ute efter. Men om jag inte kan få den här att fungera skulle en plan B vara bra att ha. BjörnJ, jag skulle kunna göra din lösning men att vissa skäl skulle det vara bättre att namnet i keyn precis som det ska vara, det ska ju tydligen inte föreligga några problem egentligen.

Senast redigerad av Althalos den 2010-03-02 klockan 18:05
Althalos är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-03-02, 19:28 #6
emilvs avatar
emilv emilv är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Feb 2004
Inlägg: 1 564
emilv emilv är inte uppkopplad
Bara ett inlägg till!
emilvs avatar
 
Reg.datum: Feb 2004
Inlägg: 1 564
Den kod du postade fungerar alldeles utmärkt.
Kontrollera:

* Att du inte har magic_quotes_gpc aktiverat (då kanske du omedvetet får fler \ än vad du vill ha)
* Om du har svenska tecken med i namnet, kontrollera att det sparas med rätt teckenkodning i databasen också. En bra idé kan vara att faktiskt skriva ut $value oavsett vilket i funktionen för att se vilket värdet den faktiskt får.
emilv är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 
Ämnesverktyg
Visningsalternativ

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 22:09.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017