0

文字列内の文字のすべての位置を配列の形式で取得する必要があります。php 関数については知っていますstrpos()が、配列を引数として受け入れません。

これは必須です:

$name = "australia";            //string that needs to be searched
$positions_to_find_for = "a";   // Find all positions of character "a" in an array 
$positions_array = [0,5,8];     // This should be the output that says character "a" comes at positions 0, 5 and 8 in string "australia"

質問:必要な出力を達成するのに役立つ関数を構築するのに役立つループは何ですか?

4

2 に答える 2

1

a を使用して、forその文字列をループできます。

$name = "australia";
$container = array();
$search = 'a';
for($i=0; $i<strlen($name); $i++){
    if($name[$i] == $search) $container[] = $i;
}

print_r($container);

/*
Array
(
    [0] => 0
    [1] => 5
    [2] => 8
)
*/

コードパッドの例

于 2013-03-07T12:08:09.353 に答える
1

ループは不要

$str = 'australia';
$letter='a';
$letterPositions = array_keys(
    array_intersect(
        str_split($str),
        array($letter)
    )
);

var_dump($letterPositions);
于 2013-03-07T12:04:55.990 に答える