Core Function BinaryClone
From Sputnik Wiki
(Difference between revisions)
(→Example) |
m (1 revision) |
||
(6 intermediate revisions by 2 users not shown) | |||
Line 15: | Line 15: | ||
=== Return Value === | === Return Value === | ||
− | Success: Returns | + | Success: Returns cloned binary array. |
− | Failure: Returns | + | Failure: Returns null. |
=== Remarks === | === Remarks === | ||
Line 26: | Line 26: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | That does not *copy* the data it will simply creates a | + | That does not *copy* the data it will simply creates a reference to it making a change at either variable will change both so if you wish to actually copy a binary variables data you will need to use BinaryClone or BinaryMid etc. |
=== Example === | === Example === | ||
<syntaxhighlight lang="sputnik"> | <syntaxhighlight lang="sputnik"> | ||
− | $binary = Pack(" | + | $binary = Pack("A*", "Hello World!"); |
$binary2 = BinaryClone($binary); | $binary2 = BinaryClone($binary); | ||
BinaryReverse($binary); | BinaryReverse($binary); | ||
− | println("b1: " . Unpack(" | + | println("b1: " . Unpack("A*", $binary, 3)); |
− | println("b2: " . Unpack(" | + | println("b2: " . Unpack("A*", $binary2, 3)); |
+ | </syntaxhighlight> | ||
+ | |||
+ | Alternative way using Clone() | ||
+ | |||
+ | <syntaxhighlight lang="sputnik"> | ||
+ | $a = BinaryCreate(3); | ||
+ | $a[0] = 'C'; | ||
+ | $a[1] = 'A'; | ||
+ | $a[2] = 'T'; | ||
+ | |||
+ | $b = Clone($a); | ||
+ | $b[0] = 'J'; | ||
+ | |||
+ | echo "First '$a' Second '$b'\n"; | ||
+ | # Prints | ||
+ | # First 'CAT' Second 'JAT' | ||
</syntaxhighlight> | </syntaxhighlight> | ||
[[Category:Core Function]] | [[Category:Core Function]] |
Latest revision as of 12:38, 14 June 2015
BinaryClone( <binary-array> )
Contents |
Description
Clone a binary variable 100% and return a new binary variable with exactly same data as the old one.
Parameters
binary-array
The binary variable to use.
Return Value
Success: Returns cloned binary array.
Failure: Returns null.
Remarks
Contrary to what you might think simply doing
$binary2 = $binary1
That does not *copy* the data it will simply creates a reference to it making a change at either variable will change both so if you wish to actually copy a binary variables data you will need to use BinaryClone or BinaryMid etc.
Example
$binary = Pack("A*", "Hello World!"); $binary2 = BinaryClone($binary); BinaryReverse($binary); println("b1: " . Unpack("A*", $binary, 3)); println("b2: " . Unpack("A*", $binary2, 3));
Alternative way using Clone()
$a = BinaryCreate(3); $a[0] = 'C'; $a[1] = 'A'; $a[2] = 'T'; $b = Clone($a); $b[0] = 'J'; echo "First '$a' Second '$b'\n"; # Prints # First 'CAT' Second 'JAT'