小编Bez*_*oso的帖子

在PHP5中使用func_get_args()通过引用传递变量?

我目前有这种形式的类方法/函数:

function set_option(&$content,$opt ,$key, $val){

   //...Some checking to ensure the necessary keys exist before the assignment goes here.

   $content['options'][$key][$opt] = $val;

}
Run Code Online (Sandbox Code Playgroud)

现在,我正在研究修改函数以使第一个参数可选,允许我只传递3个参数.在这种情况下,使用类属性content代替我省略的属性.

首先想到的是将func_num_args()和func_get_args()与此结合使用,例如:

function set_option(){

    $args = func_get_args();

    if(func_num_args() == 3){

        $this->set_option($this->content,$args[0],$args[1],$args[2]);

    }else{

       //...Some checking to ensure the necessary keys exist before the assignment goes here.

       $args[0]['options'][$args[1]][$args[2]] = $args[3];

   }

}
Run Code Online (Sandbox Code Playgroud)

我怎样才能指定我传递第一个参数作为参考?(我使用的是PHP5,因此指定变量通过函数调用的引用传递并不是我最好的选择之一.)

(我知道我可以修改参数列表,以便最后一个参数是可选的,这样做function set_option($opt,$key,$val,&$cont = false),但我很好奇,如果通过引用传递可以与上面的函数定义一起使用.如果它是我宁愿使用它.)

php

10
推荐指数
1
解决办法
2237
查看次数

jQuery +在不同的时间多次附加一个克隆?

我有这个表单,其中有一个用户可以指定无限数量的值对的部分,特别是语言和熟练程度.

我有这样的DOM结构:

<ul id="language-list">
    <li class="user-language-item">
        <select name="language[]" class="user-language-select">...</select>
        Level: <select name="proficiency[]">...</select>
        <input type="button" value="Remove" class="remove-language" />
    </li>
    <li class="user-language-item">
        <select name="language[]" class="user-language-select">...</select>
        Level: <select name="proficiency[]">...</select>
        <input type="button" value="Remove" class="remove-language" />
    </li>
    <li class="user-language-item">
        <select name="language[]" class="user-language-select">...</select>
        Level: <select name="proficiency[]">...</select>
        <input type="button" value="Remove" class="remove-language" />
    </li>
</ul>
<input type="button" value="Add another language..." id="add-a-language" />
Run Code Online (Sandbox Code Playgroud)

如果用户单击该Add another language...按钮,则应将包含相同表单元素的新列表项插入到列表中.

这是我的代码:

$(function(){

    //Save a clone of one list item during initialization.
    var liItem = $('.user-language-item').last().clone(); 

    $('#add-a-language').click(function(){

        //Append the clone to the …
Run Code Online (Sandbox Code Playgroud)

javascript jquery

4
推荐指数
1
解决办法
6947
查看次数

模数运算后rand()不生成随机数

我正在参加C复习并参加棋盘游戏作为练习.棋盘游戏是"将军的游戏"并且非常像国际象棋,因为它使用8x8平方等级的棋子.

基本上,板的实现是特定结构的二维数组.因此,可以通过其索引访问板的正方形,就像xy坐标系一样.

现在我决定随机分配各个部分,逻辑是生成一个随机的xy坐标,检查一块是否已经存在于板上的那些坐标上,如果可用,则用一块填充它.如果不是,则生成另一个随机xy坐标.这种情况一直持续到所有部分都被考虑在内.

我正在使用rand()生成特定范围内的随机数(我使用模运算符和填充数来指定范围.请参阅下面的代码)

但是rand()似乎没有为我提供足够随机的数字.我一遍又一遍地用同样的作品分配!(但有趣的是,我可以在Mac上生成不同的发行版,但发行版仍然一致!)

请参阅下面的代码,了解我如何使用rand()生成带范围的数字.

void initPieces(){

    int player, rank_index, population, rand_min, rand_x, rand_y;

    for(player = 1; player <= 2; player++){

       if(player == 1){
            rand_min = 5;
        }else{
           rand_min = 1;
        }

        for(rank_index = 0; ir < sizeof ranking/sizeof ranking[0]; rank_index++){

            for(population = 0; population < getRank(rank_index)->population; population++){

               do{
                   rand_x = (rand() % 8) + 1;
                   rand_y = (rand() % 4) + rand_min;

               }while((getGrid(rand_x,rand_y))->has_piece == 1);

               assignPiecetoGrid(player,rank_index,rand_x,rand_y);

            }

       }

   }

}
Run Code Online (Sandbox Code Playgroud)

c

2
推荐指数
2
解决办法
2984
查看次数

标签 统计

c ×1

javascript ×1

jquery ×1

php ×1