将变量赋值给数组php中的值

时间:2012-02-22 08:35:55

标签: php variables split

这就是我想要做的事情:

  1. 将单词拆分为单独的字符。输入单词来自表单,可以与每个用户不同。

  2. 为每个charachter分配变量,以便我可以单独操作它们。

  3. 到目前为止,她是我的代码(不起作用)。如果这里出现了很多愚蠢的错误,那我就是道歉,但我是PHP的新手。

    <?php
    
    $word = $_POST['input'];
    
    //split word into charachters
    
    $arr1 = str_split($word);
    
    //assigning a variable to each charchter 
    
    $bokstaver = array();
    
    while($row = $arr1)
    {
    $bokstaver[] = $row[];
    }
    
    $int_count = count($bokstaver);
    $i=0;
    
    foreach ($bokstaver as $tecken) {
    $var = 'tecken' . ($i + 1);
    $$var = $tecken;
    $i++;
    } 
    
    ?>
    

    我想最终得到尽可能多的$ tecken变量(名称为$ tecken,t $ tecken1,$ tecken2等)作为输入中的字符数。

    所有人都非常感激,一如既往!

3 个答案:

答案 0 :(得分:0)

我认为这不是一个好主意,但是你是如何做到的:

<?php
$input = 'Hello world!';
for($i = 0; $i < strlen($input); $i++) {
    ${'character' . $i} = $input[$i];
}

答案 1 :(得分:0)

你为什么这么想? 你可以选择:

$word = 'test';
echo $word[2]; // returns 's'
echo $word{2}; // returns 's'
$word{2} = 'b';
echo $word{2}; //returns 'b'
echo $word; // returns 'tebt'
...

答案 2 :(得分:0)

您不需要为每个字母创建单独的变量,因为您拥有数组中的所有字母。然后你只需索引数组就可以得到每个字母。

我会这样做。

//get the word from the form
$word = $_POST['input'];

//split word into characters 
$characters = str_split($word);


//suppose the word is "jim"
//this prints out 
// j
// i
// m

foreach($characters as $char)
    print $char . "\n"


//now suppose you want to change the first letter so the word now reads "tim"
//Access the first element in the array (ie, the first letter) using this syntax
$characters[0] = "t";