标签: associative-array

在php中关联数组中初始化元素是一种好习惯吗?

我发现自己在PHP中使用关联数组做了很多事情.

我这样做:

 foreach ($item as $key=>$value) {
     if ($arr[$key] == null) {
         $arr[$key] = 0; 
     }
     $arr[$key] += $other_arr[$value];
 }
Run Code Online (Sandbox Code Playgroud)

但后来我意识到如果我排除初始化$ arr [$ key]的行,它可以正常工作,大概因为它是null,它被视为与0相同.

在php中使这种假设安全吗?如果它是安全的,这是一个好主意吗?

php associative-array

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

如何在PHP中找到关联数组中第一个元素的值?

我有这样一个数组:

$array = array(
    'fruit1' => 'apple',
    'fruit2' => 'orange',
    'fruit3' => 'grape',
);
Run Code Online (Sandbox Code Playgroud)

是否有一个函数可以'apple'从该数组中获取(第一个键)?或者我别无选择,只能这样做?

function firstkey($array)
{
    for($array as $first)
    {
        return $first;
    }
}
Run Code Online (Sandbox Code Playgroud)

php arrays associative-array

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

在javascript中将元素添加到关联数组中

我正在尝试将元素添加到关联数组中,colors = [] 我想让它拥有["id":selected_color]但我的浏览器一直在崩溃(某个地方无限循环?)

我不确定我是否正确地将元素添加到数组中.

发生的事情是我点击了一个span元素,它的ID值设置为十六进制值,我正在尝试捕获该值并将其与 selected._color

<script type="text/javascript" src="jquery-1.6.2.js"></script>
<script type="text/javascript">

var selected_color = "";
var colors = [];

$(document).ready(function() {
    $(".color_cell").click(function(){
        // ADD MY COLOR TO SELECTED COLOR'S ASSOCIATIVE ARRAY       
        colors[$(this).attr("id")] = selected_color;
        console.log($(this).attr("id"));
        $(this).css({'background-color':'white'});
        $(this).unbind('click');
        updateDisplay(colors);
        alert("hi");
    });

    $(".btnColor").click(function(){
         // MAKE SELECTED COLOR BE ME
        alert("hey");
        selected_color = $(this).attr("id");
    }); // end button handler
}); // end ready()

function updateDisplay(colors) {
    jQuery.each(colors, function(key, value) {
        //it seems to crash here...
        $("#storage_display").html("var "+$("#storage_display").html()+" " +value); …
Run Code Online (Sandbox Code Playgroud)

javascript jquery loops associative-array

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

我怎么能有一个具有许多值的关联数组

我有一张带有标题的专辑,它出现的年份和专辑中的歌曲.

我的数组设置如下:

std::string alb_name[256]['title', 'year', 'songs'];
Run Code Online (Sandbox Code Playgroud)

但我希望歌曲关联数组最多能容纳20首歌曲.是否有捷径可寻?我正在编程1课程,我无法找到一种方法来做到这一点.任何帮助都是适当的.

c++ arrays associative-array

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

为什么我不能在这个PHP函数的结果中引用键?

为什么这段代码失败了

function f(){
    return array('k'=>'abc');
}
print_r(f()['k']);
Run Code Online (Sandbox Code Playgroud)

这段代码有用吗?

function f(){
    return array('k'=>'abc');
}
$a = f();
print_r($a['k']);
Run Code Online (Sandbox Code Playgroud)

唯一的区别是在尝试访问数组元素之前将f结果 赋值$a.如何在f没有额外作业的情况下直接参考结果?

php arrays associative-array

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

嵌套数组和关联数组有什么区别?

有两个链接 http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/composites.htm#LNPLS99981

在Oracle中使用不同类型的PL / SQL集合的目的

通过引用以上两个链接,我有两个疑问

1.哪个是正确的嵌套表?

2.如果oracle文档是正确的,嵌套表和关联数组有什么区别?

sql oracle plsql associative-array nested-table

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

PHP:调整SELECT for SQL注入预防后循环不起作用

我试图以防止SQL注入(标准网站)的方式为MySQL设置PHP查询.

我有几个INSERT查询,其中更改此工作正常,但在以下SELECT我不断收到错误,因为更新,它看起来像while循环不适用于我所做的更改(它运行良好,不使用语句作为在旧代码中).

谁能告诉我这里做错了什么?

新PHP:

$stmt = $conn->prepare("SELECT ? FROM TranslationsMain WHERE location LIKE '%calendar weekday%' ORDER BY sortOrder, ?");
$stmt->bind_param('s', $selectedLang);
$stmt->execute();
$result = $stmt->get_result();  
while($arrCalWeekdays = $result->fetch_assoc()){
    $calWeekdays[] = $arrCalWeekdays;
}
$conn->close();
Run Code Online (Sandbox Code Playgroud)

旧PHP(更改部分):

$sql = "SELECT " . $selectedLang . " FROM TranslationsMain WHERE location LIKE '%calendar weekday%' ORDER BY sortOrder, " . $selectedLang;
$result = $conn->query($sql);  
while($arrCalWeekdays = $result->fetch_assoc()){
    $calWeekdays[] = $arrCalWeekdays;
}
$conn->close();
Run Code Online (Sandbox Code Playgroud)

错误信息:

致命错误:在第21行的/homepages/21/d580042014/htdocs/myform.php中调用非对象上的成员函数fetch_assoc()

提前谢谢了.

php mysql select associative-array sql-injection

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

在Javascript中创建关联数组

我有包含数组的对象,我希望它包含关联数组,因此键是字符串.怎么做?这不起作用:

{profiles: { easy:["example" : 1],advanced:["example" : 1] }
Run Code Online (Sandbox Code Playgroud)

我想避免

console.log({profiles: { easy:{"example" : 1},advanced:{"example" : 1} })
Run Code Online (Sandbox Code Playgroud)

因为简单高级成员不会显示为数组而是显示为对象.

我知道的另一种方法是:array ['key2'] ='新值'; 但这不是对象的一部分,所以我需要拆分多行的命令 - 这不是我想要的.

PHP有类似数组("mykey"=>"myValue"),但JavaScript有类似的东西吗?

但我不想使用框架,这只是JavaScript.

javascript arrays associative-array

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

正则表达式作为关联数组键?

我在D中编写了一个非常依赖于性能的代码部分.为此,我希望有一个关联数组将我的数据映射到a,Regex以便我以后可以使用它.

当我尝试这样做时,它给了我错误,index is not a type or expression.如何使用此正则表达式作为我的数组键?

编辑:对于代码,这是我在我的课程中要定义的内容:

View[Regex] m_routes;
Run Code Online (Sandbox Code Playgroud)

我希望这样我可以添加如下路线:

void add(string route, View view)
{
    auto regex = regex(route.key, [ 'g', 'i' ]);

    if (regex in m_routes)
        throw new Exception(format(`Route with path, "%s", is already assigned!`, route));

    m_routes[regex] = view;
}
Run Code Online (Sandbox Code Playgroud)

这将允许我检查路由的正则表达式,而不必重建每个路由,如下所示:

View check(string resource)
{
    foreach (route; m_routes.byKeyValue())
    {
        auto match = matchAll(resource, route.key);

        // If this regex is a match
        // return the view
        if (!match.empty)
        {
            return route.value;
        }
    } …
Run Code Online (Sandbox Code Playgroud)

regex associative-array d

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

在Javascript中从关联数组中删除项目

我的JS中有一个关联数组,我想提供我的Select.

这些是可用的标准时间,可以刷新我的可用时间(页面加载时);

var standardhours = {
  "09" : '9AM',
  "10" : '10AM',
  "11" : '11AM',
  "12" : 'Noon',
  "13" : '1PM',
  "14" : '2PM',
  "15" : '3PM',
  "16" : '4PM',
  "17" : '5PM',
  "18" : '6PM',
  "19" : '7PM'
};
Run Code Online (Sandbox Code Playgroud)

这些是我想要为我的Select提供的可用时间.

var availablehours = {
    "09" : '9AM',
    "10" : '10AM',
    "11" : '11AM',
    "12" : 'Noon',
    "13" : '1PM',
    "14" : '2PM',
    "15" : '3PM',
    "16" : '4PM',
    "17" : '5PM',
    "18" : '6PM',
    "19" : '7PM'
};
Run Code Online (Sandbox Code Playgroud)

这是我的动态变量,它根据数据库更改而变化.这些是已经有人花费的时间. …

javascript associative-array

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