Re: strpos() before str_replace()? Or, maybe strtr()? [message #184928 is a reply to message #184921] |
Sun, 16 February 2014 20:24 |
Ben Bacarisse
Messages: 82 Registered: November 2013
Karma:
|
Member |
|
|
Thomas 'PointedEars' Lahn <PointedEars(at)web(dot)de> writes:
> Jason C wrote:
<snip>
>> I'm looping through roughly 100,000 values:
>>
>> $userArr = array(
>> "something" => "anything",
>> ...
>> );
>>
>> foreach ($userArr as $key => $val) {
>> $firstname = str_replace($key, "****", $firstname);
>> $lastname = str_replace($key, "****", $lastname);
>> }
>>
>> Both $firstname AND $lastname could contain any of the keys, but could
>> only potentially contain one key each. It's likely, though, that neither
>> will contain any of the keys.
<snip>
>> Would it be faster to use strpos() before each str_replace(), like so?:
>>
>> foreach ($userArr as $key => $val) {
>> if (strpos($firstname, $key) !== false)
>> $firstname = str_replace($key, "****", $firstname);
>>
>> if (strpos($lastname, $key) !== false)
>> $lastname = str_replace($key, "****", $lastname);
>> }
>
> Most certainly not.
And yet, when I measured it, it was faster. How can that be?
<snip>
--
Ben.
|
|
|