FUDforum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » Imported messages » comp.lang.php » $this->delimiter in php explode
Show: Today's Messages :: Polls :: Message Navigator
Switch to threaded view of this topic Create a new topic Submit Reply
$this->delimiter in php explode [message #177718] Tue, 17 April 2012 01:45 Go to next message
j is currently offline  j
Messages: 9
Registered: July 2011
Karma: 0
Junior Member
I've written a function in a class

public $delimiter = ';';

....

public function some_function(){
echo $this->delimiter; // yields: ;
$SOME_ARRAY= explode($this->delimiter,$some_string);

echo $this->delimiter // yields: 1

So, running explode changes the value of the class variable $delimiter.
It's obvious I'm stepping on something, but I'm not sure what other than
there is a delimiter in explode. What does $this mean inside the explode
function?

Jeff
Re: $this->delimiter in php explode [message #177719 is a reply to message #177718] Tue, 17 April 2012 02:08 Go to previous messageGo to next message
Jerry Stuckle is currently offline  Jerry Stuckle
Messages: 2598
Registered: September 2010
Karma: 0
Senior Member
On 4/16/2012 9:45 PM, j wrote:
> I've written a function in a class
>
> public $delimiter = ';';
>
> ...
>
> public function some_function(){
> echo $this->delimiter; // yields: ;
> $SOME_ARRAY= explode($this->delimiter,$some_string);
>
> echo $this->delimiter // yields: 1
>
> So, running explode changes the value of the class variable $delimiter.
> It's obvious I'm stepping on something, but I'm not sure what other than
> there is a delimiter in explode. What does $this mean inside the explode
> function?
>
> Jeff
>
>

The following code works fine here.

<?php

class MyClass {
private $delimiter = ';';

public function myfunc() {
$str = 'abd;def;ghi';
echo $this->delimiter . "\n";
$arr = explode($this->delimiter, $str);
echo $this->delimiter . "\n";
}
}

$mc = new MyClass();
$mc->myfunc();
?>

$this in the explode() function means the same thing it does anywhere
else - it is referencing the object the function is a member of. In
this case it says you want the $delimiter member of the object (instead
of some other $delimiter variable).

I suspect your problem is somewhere else.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex(at)attglobal(dot)net
==================
Re: $this->delimiter in php explode [message #177720 is a reply to message #177718] Tue, 17 April 2012 07:26 Go to previous message
M. Strobel is currently offline  M. Strobel
Messages: 386
Registered: December 2011
Karma: 0
Senior Member
Am 17.04.2012 03:45, schrieb j:
> I've written a function in a class
>
> public $delimiter = ';';
>
> ...
>
> public function some_function(){
> echo $this->delimiter; // yields: ;
> $SOME_ARRAY= explode($this->delimiter,$some_string);
>
> echo $this->delimiter // yields: 1
>
> So, running explode changes the value of the class variable $delimiter. It's obvious
> I'm stepping on something, but I'm not sure what other than there is a delimiter in
> explode. What does $this mean inside the explode function?
>
> Jeff

The error must be outside the shown code, as is the case with setting of
$some_string. The parameters here are okay.

Maybe just do a string search on "delimiter"?


/Str.
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: Stats comp.lang.php (last 7 days)
Next Topic: problems with exec()
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ]

Current Time: Thu Nov 07 11:30:55 GMT 2024

Total time taken to generate the page: 0.02927 seconds