{"id":485,"date":"2011-01-19T11:26:47","date_gmt":"2011-01-19T10:26:47","guid":{"rendered":"https:\/\/d-mueller.de\/blog\/?p=485"},"modified":"2011-03-26T18:26:37","modified_gmt":"2011-03-26T17:26:37","slug":"needle-haystack-uebersicht","status":"publish","type":"post","link":"https:\/\/d-mueller.de\/blog\/needle-haystack-uebersicht\/","title":{"rendered":"Needle\/Haystack \u00dcbersicht"},"content":{"rendered":"<p>Ich schreibe bald eine Klausur (so richtig auf Papier). Und da sind keine Handb\u00fccher oder Funktionsreferenzen erlaubt. Das befinde ich jetzt erstmal f\u00fcr gro\u00dfen Schwachsinn, weil es total an der Realit\u00e4t vorbeigeht. So. Nun habe ich mal eine kleine \u00dcbersicht erstellt, wie die <b>Needle\/Haystack-Reihenfolge<\/b> bei den meistgenutzten Funktionen ist. Durch die Hilfe der IDE ist man ja nicht gezwungen, sich das merken zu m\u00fcssen. Naja, beim st\u00f6bern im PHP Handbuch ist mir nun aufgefallen, dass mein Gef\u00fchl der total willk\u00fcrlichen Reihenfolge <b>gar nicht zutreffend war<\/b> ;-). Wenn man sich mal ein paar PHP-Basher anh\u00f6rt, ist das ja auch das erste Argument. Schauen wir einfach mal:<\/p>\n<h2>String-Funktionen<\/h2>\n<pre data-enlighter-language=\"php\" class=\"EnlighterJSRAW\">\r\nstring strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] )\r\nint strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )\r\nint substr_count ( string $haystack , string $needle [, int $offset = 0 [, int $length ]] )\r\nmixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &amp;$count ] )\r\n<\/pre>\n<p>Die Reihenfolge gilt entsprechend auch f\u00fcr die <i>iconv_<\/i> und <i>mb_<\/i> &#8211; Funktionen.<\/p>\n<h2>Array-Funktionen<\/h2>\n<pre data-enlighter-language=\"php\" class=\"EnlighterJSRAW\">\r\nbool array_key_exists ( mixed $needle , array $haystack )\r\nmixed array_search ( mixed $needle , array $haystack [, bool $strict ] )\r\nbool in_array ( mixed $needle , array $haystack [, bool $strict ] )\r\n<\/pre>\n<p>Was f\u00e4llt auf? Bei den String-Funktionen befindet sich der $haystack immer an erster Stelle, bei den Array-Funktionen kommt die $needle immer zuerst. Also gar nicht so tragisch. Wenn man sich jetzt noch eine anst\u00e4ndige Eselsbr\u00fccke bildet, kann man sich das sehr gut behalten.<\/p>\n<p>Was man sich merken muss, ist dann blo\u00df noch ob Unterstrich oder nicht: in_array vs. strpos. Aber das hat man eh drauf. Also alles garnicht so schlimm wie immer propagiert wird.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ich schreibe bald eine Klausur (so richtig auf Papier). Und da sind keine Handb\u00fccher oder Funktionsreferenzen erlaubt. Das befinde ich jetzt erstmal f\u00fcr gro\u00dfen Schwachsinn, weil es total an der Realit\u00e4t vorbeigeht. So. Nun habe ich mal eine kleine \u00dcbersicht &hellip; <a href=\"https:\/\/d-mueller.de\/blog\/needle-haystack-uebersicht\/\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,8,3],"tags":[],"class_list":["post-485","post","type-post","status-publish","format-standard","hentry","category-php","category-quicktips","category-webdev"],"_links":{"self":[{"href":"https:\/\/d-mueller.de\/blog\/wp-json\/wp\/v2\/posts\/485","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/d-mueller.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/d-mueller.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/d-mueller.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/d-mueller.de\/blog\/wp-json\/wp\/v2\/comments?post=485"}],"version-history":[{"count":0,"href":"https:\/\/d-mueller.de\/blog\/wp-json\/wp\/v2\/posts\/485\/revisions"}],"wp:attachment":[{"href":"https:\/\/d-mueller.de\/blog\/wp-json\/wp\/v2\/media?parent=485"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/d-mueller.de\/blog\/wp-json\/wp\/v2\/categories?post=485"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/d-mueller.de\/blog\/wp-json\/wp\/v2\/tags?post=485"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}