[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 106
  • Last Modified:

how can I check for the firs three letters of the word with php?

how can I check for the firs three letters of the word with php?
if my $customerid variable starts with the text "934" I'd like to say "true" the otherwise I'd like to say "false"
0
Braveheartli
Asked:
Braveheartli
3 Solutions
 
Rgonzo1971Commented:
HI,

pls try something like this

if (substr($customerid ,0,3) == "934") echo "yes";

Open in new window

Regards
0
 
Ferruccio AccalaiSenior developer, analyst and customer assistance Commented:
If (substr($customerid, 0, 3) == '934')
  { $something = true; }
else
  { $something = false;}

Edit: posted late :)
0
 
Julian HansenCommented:
You probably want to look at substr_compare() that does a comparisson on a substring
if (substr_compare($customerid, "934",0, 3)) {
   // it starts with 934
}

Open in new window

1
Learn to develop an Android App

Want to increase your earning potential in 2018? Pad your resume with app building experience. Learn how with this hands-on course.

 
Julian HansenCommented:
Follow up (for interest)
substr_compare runs almost in linear time - the length of the string and substring have little impact on running time
the other method increases the longer the strings get.

Consider this sample
<?php
$test = "934373648487548378374238943248726348268234";
$sub = "9343736484875483783742389432487263482682";
$len = strlen($sub);
$start = microtime(true);
for($i = 0; $i < 100000;$i++) {
  if (substr($test, 0, $len) == $sub) {
    $result = true;
  }
  else {
    $result = false;
  }
}
$end = microtime(true);
$one = $end - $start;
$start = microtime(true);
for($i = 0; $i < 100000;$i++) {
  $result = substr_compare($test, $sub, 0, $len);
}
$end = microtime(true);
$two = $end - $start;
echo "One: {$one}<br/>";
echo "Two: {$two}<br/>";

Open in new window

Results for the above
One: 0.15969896316528
Two: 0.019267082214355

Open in new window

With
$sub="934"
One: 0.029422044754028
Two: 0.018805027008057

Open in new window

0
 
BraveheartliMarketingAuthor Commented:
thank you all
0
 
Julian HansenCommented:
@Braveheartli,

Is there any particular reason you did not choose the first post as the correct answer - it is the same as the accepted post but was there first - by acknowledgement of the second poster?
0
 
BraveheartliMarketingAuthor Commented:
Dear Julian Hansen,
I'm pretty sure that your answer was correct
I tried yours answer first, but somehow i couldn't get the result...most  probably my fault
0
 
Julian HansenCommented:
@Braverhertli,

I was not referring to my answer I was referring to Rgonzo1971.

if (substr($customerid ,0,3) == "934") echo "yes";

Open in new window


This was posted first and is the same as the accepted answer.
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now