Permalänk
Medlem

PHP, inverterat villkor

Koden nedan matchar taggar i Wordpress som innehåller 'Person_' och printar sen den del av taggen som kommer efter 'Person_'. På rad 8, varför används "is not false" i stället för "is true"? Finns det en poäng i det eller kan man lika gärna använda '== true' ?

$taxonomies = get_post_taxonomies($post_id); if (!empty($taxonomies)) { foreach ($taxonomies as $taxonomy) { $terms = get_the_terms($post_id, $taxonomy); if ($terms && !is_wp_error($terms)) { foreach ($terms as $term) { // Check if the term name contains 'Person_' if (strpos($term->name, 'Person_') !== false) { // Get the part of the term name after 'Person_' $substring = substr($term->name, strpos($term->name, 'Person_') + strlen('Person_')); echo esc_html($substring); } } } } }

Permalänk
Medlem

Det framgår om man läser dokumentationen för strpos.

Visa signatur

Bra, snabbt, billigt; välj två.

Ljud
PC → ODAC/O2 → Sennheiser HD650/Ultrasone PRO 900/...
PC → S.M.S.L SA300 → Bowers & Wilkins 607

Permalänk
Medlem

För att om strängen hittas returneras en int med positionen med index som börjar på 0, så det går inte att ha ett villkor som strpos($term->name, 'Person_') > 0 till exempel.

Visa signatur

flippy @ Quakenet

Permalänk
Medlem

Tack båda!