PHP Development
 
Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
User Name:
Password:
Remember me

The Shed is going Social! Join us on FaceBook and Twitter and chime in on the conversation.

Go Back   Dev Shed ForumsProgramming LanguagesPHP Development

Reply
Add This Thread To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Thread Tools Search this Thread Rate Thread Display Modes
 
Unread Dev Shed Forums Sponsor:
  #1  
Old November 20th, 2012, 03:06 AM
jpmul jpmul is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Apr 2012
Posts: 33 jpmul User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 4 h 57 m 26 sec
Reputation Power: 2
Please Help with Explode

Hi
i've used it before for single words but now I want to split it up like this

PHP Code:
<?php 
$StoreCard 
"ARC Approved Repair Centre";
if (
strpos($StoreCard'Approved Repair Centre')){
$pieces explode("Approved Repair Centre"$StoreCard);
$StoreCardDisplayLine1 $pieces[0]; // piece1
$StoreCardDisplayLine2 $pieces[1]; // piece1
echo $StoreCardDisplayLine1."<br>";
echo 
$StoreCardDisplayLine2."<br>";
}
?>

it echoes ARC for $StoreCardDisplayLine1
but $StoreCardDisplayLine2 is blank, supposed to be Approved Repair Centre
is there a correct way for this method

Reply With Quote
  #2  
Old November 20th, 2012, 03:37 AM
Jacques1's Avatar
Jacques1 Jacques1 is offline
pollyanna
Dev Shed Regular (2000 - 2499 posts)
 
Join Date: Jul 2012
Location: Germany
Posts: 2,047 Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level) 
Time spent in forums: 1 Month 3 Weeks 5 h 5 m 45 sec
Reputation Power: 812
Hi,

explode() only returns the parts left and right from the separator. So the separator itself isn't included anywhere.

But I don't even understand what you're trying to do. What's the point of extracting the constant string "Approved Repair Centre"? You could do that by simply using the return value of strpos, though.

Reply With Quote
  #3  
Old November 20th, 2012, 03:38 AM
MrFujin's Avatar
MrFujin MrFujin is offline
Lord of the Dance
Dev Shed Loyal (3000 - 3499 posts)
 
Join Date: Oct 2003
Posts: 3,161 MrFujin User rank is General 11st Grade (Above 100000 Reputation Level)MrFujin User rank is General 11st Grade (Above 100000 Reputation Level)MrFujin User rank is General 11st Grade (Above 100000 Reputation Level)MrFujin User rank is General 11st Grade (Above 100000 Reputation Level)MrFujin User rank is General 11st Grade (Above 100000 Reputation Level)MrFujin User rank is General 11st Grade (Above 100000 Reputation Level)MrFujin User rank is General 11st Grade (Above 100000 Reputation Level)MrFujin User rank is General 11st Grade (Above 100000 Reputation Level)MrFujin User rank is General 11st Grade (Above 100000 Reputation Level)MrFujin User rank is General 11st Grade (Above 100000 Reputation Level)MrFujin User rank is General 11st Grade (Above 100000 Reputation Level)MrFujin User rank is General 11st Grade (Above 100000 Reputation Level)MrFujin User rank is General 11st Grade (Above 100000 Reputation Level)MrFujin User rank is General 11st Grade (Above 100000 Reputation Level)MrFujin User rank is General 11st Grade (Above 100000 Reputation Level)MrFujin User rank is General 11st Grade (Above 100000 Reputation Level) 
Time spent in forums: 2 Months 2 Weeks 1 Day 14 h 5 m 5 sec
Reputation Power: 1736
The delimiter will not be part of the result.
I think you will be better off to use the substr function with the return value from the strpos call.
Something like this: (untested)
Code:
$idxPos = strpos($StoreCard, 'Approved Repair Centre')
$StoreCardDisplayLine1 = substr($StoreCardidxPos,0,$idxPos)
$StoreCardDisplayLine2 = substr($StoreCardidxPos,$idxPos)


It might be possible you have to modify idxPos with +-1 to get the correct result

Reply With Quote
  #4  
Old November 20th, 2012, 04:16 AM
jpmul jpmul is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Apr 2012
Posts: 33 jpmul User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 4 h 57 m 26 sec
Reputation Power: 2
Ok The Reasons

User can post Many different values for $StoreCard

But if perhaps the string contains Approved Repair Centre
I would like to display it in the next line on my PDF.
So I need to find Approved Repair Centre and make a variable of it.

Reply With Quote
  #5  
Old November 20th, 2012, 04:24 AM
jpmul jpmul is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Apr 2012
Posts: 33 jpmul User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 4 h 57 m 26 sec
Reputation Power: 2
Quote:
Originally Posted by MrFujin
The delimiter will not be part of the result.
I think you will be better off to use the substr function with the return value from the strpos call.
Something like this: (untested)
Code:
$idxPos = strpos($StoreCard, 'Approved Repair Centre')
$StoreCardDisplayLine1 = substr($StoreCardidxPos,0,$idxPos)
$StoreCardDisplayLine2 = substr($StoreCardidxPos,$idxPos)


It might be possible you have to modify idxPos with +-1 to get the correct result


Can you make this work
I've tried but giving me errors or no results

Reply With Quote
  #6  
Old November 20th, 2012, 04:36 AM
jpmul jpmul is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Apr 2012
Posts: 33 jpmul User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 4 h 57 m 26 sec
Reputation Power: 2
Cool
Here is the Solution
PHP Code:
<?php 
$StoreCard 
"ARC Approved Repair Centre";

if (
strpos($StoreCard'Approved Repair Centre')){
$StoreCard str_replace("Approved",'_split_Approved'$StoreCard);
$pieces explode("_split_"$StoreCard);
$StoreCardDisplayLine1 $pieces[0]; // piece1
$StoreCardDisplayLine2 $pieces[1]; // piece2
echo $StoreCardDisplayLine1."<br>";
echo 
$StoreCardDisplayLine2."<br>";
}
?>

I had to add the separator like Jacques1 said to make explode work correctly, thanks

Reply With Quote
  #7  
Old November 20th, 2012, 04:38 AM
Jacques1's Avatar
Jacques1 Jacques1 is offline
pollyanna
Dev Shed Regular (2000 - 2499 posts)
 
Join Date: Jul 2012
Location: Germany
Posts: 2,047 Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level) 
Time spent in forums: 1 Month 3 Weeks 5 h 5 m 45 sec
Reputation Power: 812
Quote:
Originally Posted by jpmul
But if perhaps the string contains Approved Repair Centre
I would like to display it in the next line on my PDF.
So I need to find Approved Repair Centre and make a variable of it.


Is it possible that there's something after 'Approved Repair Centre'? Because if it's always just 'Approved Repair Centre', then simply take the part before this string and the string itself, and you're done.

Reply With Quote
  #8  
Old November 20th, 2012, 04:40 AM
Jacques1's Avatar
Jacques1 Jacques1 is offline
pollyanna
Dev Shed Regular (2000 - 2499 posts)
 
Join Date: Jul 2012
Location: Germany
Posts: 2,047 Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level) 
Time spent in forums: 1 Month 3 Weeks 5 h 5 m 45 sec
Reputation Power: 812
Quote:
Originally Posted by jpmul
Cool
Here is the Solution
[...]
I had to add the separator like Jacques1 said to make explode work correctly, thanks


No, that's not a good solution. When you have to change your string to make the function work, it's obviously the wrong function.

Reply With Quote
  #9  
Old November 20th, 2012, 04:44 AM
jpmul jpmul is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Apr 2012
Posts: 33 jpmul User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 4 h 57 m 26 sec
Reputation Power: 2
No there will never be words after Approved Repair Centre
This works OK for me
Below is another version if it is only Approved Repair Centre
PHP Code:
<?php 
$StoreCard 
"Sovereign ARC Approved Repair Centre";

if (
strpos($StoreCard'Approved Repair Centre')){
$StoreCard str_replace("Approved",'_split_Approved'$StoreCard);
$pieces explode("_split_"$StoreCard);
$StoreCardDisplayLine1 $pieces[0]; // piece1
$StoreCardDisplayLine2 $pieces[1]; // piece1
}

if (
$StoreCard == "Approved Repair Centre"){$StoreCardDisplayLine1 $StoreCard$StoreCardDisplayLine2 ""; }    

echo 
"Part 1 = ".$StoreCardDisplayLine1."<br>";
echo 
"Part 2 = ".$StoreCardDisplayLine2."<br>";
?>

Reply With Quote
  #10  
Old November 20th, 2012, 08:01 AM
Jacques1's Avatar
Jacques1 Jacques1 is offline
pollyanna
Dev Shed Regular (2000 - 2499 posts)
 
Join Date: Jul 2012
Location: Germany
Posts: 2,047 Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level)Jacques1 User rank is Lieutenant General (80000 - 90000 Reputation Level) 
Time spent in forums: 1 Month 3 Weeks 5 h 5 m 45 sec
Reputation Power: 812
You really love explode(), do you?

PHP Code:
<?php

$StoreCard 
"Sovereign ARC Approved Repair Centre"

if (
$pos strpos($StoreCard'Approved Repair Centre')){  // yeah, the "=" is intentional
    
$prefix substr($StoreCard0$pos);
    echo 
'Part 1 = ' htmlentities($prefix) . '<br />';
    echo 
'Part 2 = Approved Repair Centre<br />';
}
Comments on this post
MrFujin agrees: for a workable code using substr; I somehow misspelled the variable name.

Reply With Quote
  #11  
Old November 20th, 2012, 12:04 PM
jpmul jpmul is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Apr 2012
Posts: 33 jpmul User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 4 h 57 m 26 sec
Reputation Power: 2
I need variables for part one and part two
I print it in a pdf.
I'm ok with my method for now. Thanks Jacques

Reply With Quote
Reply

Viewing: Dev Shed ForumsProgramming LanguagesPHP Development > Please Help with Explode

Developer Shed Advertisers and Affiliates



Thread Tools  Search this Thread 
Search this Thread:

Advanced Search
Display Modes  Rate This Thread 
Rate This Thread:


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
View Your Warnings | New Posts | Latest News | Latest Threads | Shoutbox
Forum Jump

Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
  
 


Powered by: vBulletin Version 3.0.5
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.

© 2003-2013 by Developer Shed. All rights reserved. DS Cluster - Follow our Sitemap