Script uit andere taal omzetten naar PHP

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Tim van Norde

Tim van Norde

24/10/2012 20:06:23
Quote Anchor link
Ik ben een game aan het schrijven in een andere taal. Nu heb ik een zelf gemaakte functie die een string omzet in een naar nummers gecodeerde waarde. Deze ziet er als volgt uit:
string_encode(string, pattern);
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/*
argument0 = string die 'gecodeerd' moet worden
argument1 = het patroon waarmee de string 'gecodeerd' wordt
*/
var str, pattern, outcome, match, i;

str = argument0;
match = argument1;
outcome = "";

for(i=1; i<=string_length(str); i+=1)
{
    var hustle;
    
    hustle = string_char_at(str, i);
    outcome += string(string_pos(string_char_at(str, i), match)+string_count(hustle, str));
    match = string_delete(match, hustle, 1);
    match = string_insert(hustle, str, string_count(hustle, str));
}

return outcome;


Nu zou ik deze graag om willen zetten naar PHP, kan iemand mij hier mee helpen?
Functies uitgelegd:
string_length(string); Geeft het aantal karakters terug van string
string_char_at(string, positie); Geeft het karakter op positie positie terug van string
string(integer); Cast simpelweg een numerieke waarde naar een string
string_pos(string, string2); Geeft terug op welke plek string staat in string2
string_count(string, string2); Geeft terug hoe vaak string in string2 voor komt
string_delete(string, integer, integer2); Geeft string terug waar integer tot integer2 uit geknipt is
string_insert(string, string2, integer'); Geeft string2 terug waarbij string op integer is ingevoegd

Ik kom er zelf niet goed uit helaas :/

Ps. string_encode("phphulp", "abcdefghijklmnopqrstuvwxyz0123456789") moet terug geven:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
19444785
 
PHP hulp

PHP hulp

22/11/2024 06:38:22
 
Flip --

Flip --

24/10/2012 20:51:07
Quote Anchor link
Hij klopt nog niet, maar had even geen zin meer om verder te puzzelen. Zou ook helpen als je na iedere regel even een print doet zodat er te volgen is wat er per regel gebeurt

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
    function string_encode($string, $pattern) {
    $return = '';
    for ($i=0;$i<strlen($string);$i++) {
      $count_char = substr_count($string, $string[$i]);
      if ($i > 0) {
        $return .= strpos($match, $string[$i]) . $count_char;
        $match = substr_replace($match, '', $string[$i], 1);
      }

      $match = substr_replace($string, $string[$i], $count_char, 0);
    }

    return $return;
  }

  var_dump(string_encode('phphulp', 'abcdefghijklmnopqrstuvwxyz0123456789'));
?>
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.