Рассекая строку - PullRequest
       10

Рассекая строку

1 голос
/ 02 января 2012

Я подозреваю, что об этом уже спрашивали, но я понятия не имею, как это на самом деле называется, поэтому я ничего не смог найти.

Я создаю браузерную игру, в которой у игрока 10х10.сетка.Каждый квадрат сетки имеет несколько аспектов, некоторые из которых представляют собой двоичные флаги, а другие - шестнадцатеричные значения.

Чтобы сохранить эту информацию в массиве, я хочу, чтобы в данной ячейке содержалось следующее:

«9A0101», где 9A - это тип тайла, а 0 и 1 - двоичные флаги об этом тайле карты.

Я хочу иметь возможность взять «9A0101» и разделить его на «9A», «0», "1", "0" и "1" как отдельные переменные.

TLDR:

Как мне нарезать строку в PHP?Строка всегда будет одинаковой длины, и части, где я хочу ее обрезать, всегда будут иметь одинаковые смещения.

Ответы [ 3 ]

1 голос
/ 02 января 2012

используйте substr () , чтобы получить части строки

<?php
echo substr('9A0101', 0,2);     // 9A
echo substr('9A0101', 2, 1);  // 0
echo substr('9A0101', 3, 1);  // 1
echo substr('9A0101', 4, 1);  // 0
echo substr('9A0101', 5, 1);  // 1
?>
0 голосов
/ 02 января 2012

Вы можете использовать функцию substr ()

<?php
$str = "9A0101";
$arr = Array();

$arr[0] = substr($str, -6, 2);
$arr[1] = substr($str, -4, 1);
$arr[2] = substr($str, -3, 1);
$arr[3] = substr($str, -2, 1);
$arr[4] = substr($str, -1, 1);

foreach($arr as $key => $val) {
    echo($key . "=>" . $val . '<br/>');
} 
?>
0 голосов
/ 02 января 2012

а как же substr()?:

<?php
$str = '9A0101';
echo substr($str,0,2); 
echo substr($str,2,1); 
echo substr($str,3,1);
echo substr($str,4,1); 
echo substr($str,5,1); 
?>
...