20*375Wp met Enphase IQ7+ micro's | Stiebel Eltron HGE Water/Water WP 9kW | Tesla M3, powered by SmartEVSE | Servertje @ www.coloclue.net
1
2
3
| $enum = "'_blank','_self','_top','_parent'"; $opties = explode( "','", substr( $enum, 1, -1 ) ); |
Er is vast wel een regexp guru die dit leest.
Maar zoals aangegeven, dat is vrij vies. Is er niet een functie voor?.Peter schreef op vrijdag 02 september 2005 @ 14:09:
Split dan op ',' ? =)
PHP:
1 2 3 $enum = "'_blank','_self','_top','_parent'"; $opties = explode( "','", substr( $enum, 1, -1 ) );
20*375Wp met Enphase IQ7+ micro's | Stiebel Eltron HGE Water/Water WP 9kW | Tesla M3, powered by SmartEVSE | Servertje @ www.coloclue.net
Spuit 11..

[ Voor 81% gewijzigd door Osiris op 02-09-2005 14:12 ]
Mwa, zo vies vind ik het niet. Wat is er op tegen dan? Stuk sneller dan een regex iig.decramy schreef op vrijdag 02 september 2005 @ 14:10:
[...]
Maar zoals aangegeven, dat is vrij vies. Is er niet een functie voor?
1
2
3
| $tekst = "enum('_blank','_self','_top','_parent')"; $opties = explode( "','", substr( $tekst, 6, -2 ) ); |
en dan kan je met bijv. print_r( $opties ) alle opties bekijken.
'abs\','
Ok de kans is vrij klein (of misschien niet eens mogelijk)... maar daarom is een split gewoon niet netjes.
Een regex zal je hier toch nodig hebben imho wil je een universele bugvrije functie overhouden.
[ Voor 84% gewijzigd door Bosmonster op 02-09-2005 14:28 ]
Verwijderd
If you want to get an array in php with all possible values for an ENUM or SET column, you should use: SHOW COLUMNS FROM table_name LIKE 'enum_column_name' (with or without %-wildcards), and parse it with the following php script:
PHP:
1 2 3 4 5 $result=mysql_query($query); if(mysql_num_rows($result)>0) { $row=mysql_fetch_row($result); $options=explode("','",preg_replace("/(enum|set)\('(.+?)'\)/","\\2",$row[1])); }
Now $options is an array with all possible values
Hope it helps.
Is mischien ook zo, maar ik vind het voorbeeld toch wel een beetje onzin. Het stukje code voldoet imo gewoon in 99,9% van de situaties, en als ie niet voldoet, dan is er toch wel iets heel erg mis gegaan bij het kiezen van namen voor de enum. Als te verwachten dat in vrij normale situaties een stukje code kan breken, dan moet je er rekening mee houden. Anders is het niet echt nodig.Bosmonster schreef op vrijdag 02 september 2005 @ 14:25:
En als je nou zoiets in je enum hebt?
'abs\','
Ok de kans is vrij klein (of misschien niet eens mogelijk)... maar daarom is een split gewoon niet netjes.
Een regex zal je hier toch nodig hebben imho wil je een universele bugvrije functie overhouden.
[ Voor 3% gewijzigd door Michali op 02-09-2005 15:24 ]