Core Function BinaryClone

From Sputnik Wiki
(Difference between revisions)
Jump to: navigation, search
(Example)
(Example)
Line 31: Line 31:
  
 
<syntaxhighlight lang="sputnik">
 
<syntaxhighlight lang="sputnik">
$binary = Pack("z0", "Hello World!");
+
$binary = Pack("A*", "Hello World!");
 
$binary2 = BinaryClone($binary);
 
$binary2 = BinaryClone($binary);
 
BinaryReverse($binary);
 
BinaryReverse($binary);
println("b1: " . Unpack("z0", $binary));
+
println("b1: " . Unpack("A*", $binary, 3));
println("b2: " . Unpack("z0", $binary2));
+
println("b2: " . Unpack("A*", $binary2, 3));
 
</syntaxhighlight>
 
</syntaxhighlight>
  

Revision as of 16:24, 27 September 2013

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'
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox