associative-array

Return all array elements except for a given key

放肆的年华 提交于 2020-07-31 09:40:56
问题 Simple one, I was just wondering if there is a clean and eloquent way of returning all values from an associative array that do not match a given key(s)? $array = array('alpha' => 'apple', 'beta' => 'banana', 'gamma' => 'guava'); $alphaAndGamma = arrayExclude($array, array('alpha')); $onlyBeta = arrayExclude($array, array('alpha', 'gamma')); function arrayExclude($array, Array $excludeKeys){ foreach($array as $key => $value){ if(!in_array($key, $excludeKeys)){ $return[$key] = $value; } }

Return all array elements except for a given key

≯℡__Kan透↙ 提交于 2020-07-31 09:40:07
问题 Simple one, I was just wondering if there is a clean and eloquent way of returning all values from an associative array that do not match a given key(s)? $array = array('alpha' => 'apple', 'beta' => 'banana', 'gamma' => 'guava'); $alphaAndGamma = arrayExclude($array, array('alpha')); $onlyBeta = arrayExclude($array, array('alpha', 'gamma')); function arrayExclude($array, Array $excludeKeys){ foreach($array as $key => $value){ if(!in_array($key, $excludeKeys)){ $return[$key] = $value; } }

How to create an associative array in JavaScript literal notation

自作多情 提交于 2020-07-31 06:33:27
问题 I understand that there are no associative arrays in JavaScript, only objects . However I can create an array with string keys using bracket notation like this: var myArray = []; myArray['a'] = 200; myArray['b'] = 300; console.log(myArray); // Prints [a: 200, b: 300] So I want to do the exact same thing without using bracket notation : var myNewArray = [a: 200, b: 300]; // I am getting error - Unexpected token: This does not work either: var myNewArray = ['a': 200, 'b': 300]; // Same error.

Bad array subscript error when trying to increment an associative array element

这一生的挚爱 提交于 2020-07-29 14:28:57
问题 I can create an associative array and assign an integer to a key that contains a single quote in it: $ declare -A dict $ var="john's" $ dict[$var]=1 $ echo ${dict[$var]} 1 $ declare -p dict declare -A dict=(["john's"]="1" ) But when I try to increment its value: $ (( dict[$var]++ )) bash: ((: dict[john's]++ : bad array subscript (error token is "dict[john's]++ ") $ (( dict["$var"]++ )) bash: ((: dict[john's]++ : bad array subscript (error token is "dict[john's]++ ") $ (( dict["${var}"]++ ))

Bad array subscript error when trying to increment an associative array element

这一生的挚爱 提交于 2020-07-29 14:28:18
问题 I can create an associative array and assign an integer to a key that contains a single quote in it: $ declare -A dict $ var="john's" $ dict[$var]=1 $ echo ${dict[$var]} 1 $ declare -p dict declare -A dict=(["john's"]="1" ) But when I try to increment its value: $ (( dict[$var]++ )) bash: ((: dict[john's]++ : bad array subscript (error token is "dict[john's]++ ") $ (( dict["$var"]++ )) bash: ((: dict[john's]++ : bad array subscript (error token is "dict[john's]++ ") $ (( dict["${var}"]++ ))

Get first value of an array [duplicate]

依然范特西╮ 提交于 2020-07-03 04:34:46
问题 This question already has answers here : Is there a function to extract a 'column' from an array in PHP? (12 answers) Closed 3 years ago . I have an array: Array ( [0] => Array ( [0] => Pen [1] => Apple ) [1] => Array ( [0] => Oooo [1] => Pineapple pen ) How I can get a first elements of each array? For example: Pen Oooo It's my function $parameters = array('wiki_1', 'wiki_2', 'wiki_3', 'wiki_4','wiki_5' ,'wiki_6', 'wiki_7', 'wiki_8', 'wiki_9', 'wiki_10', 'wiki_11', 'wiki_12'); function wiki

(Chez) Scheme macro for hiding lambdas

廉价感情. 提交于 2020-05-13 14:35:56
问题 I would like to write a macro to create shorthand syntax for hiding more verbose lambda expressions, but I'm struggling to understand how to write macros (which I realize is an argument against using them). Given this example: (define alist-example '((x 1 2 3) (y 4 5 6) (z 7 8 9))) (define ($ alist name) (cdr (assoc name alist))) ((lambda (a) (map (lambda (x y z) (+ x y z)) ($ a 'x) ($ a 'y) ($ a 'z))) alist-example) ((lambda (a) (map (lambda (y) (/ y (apply max ($ a 'y)))) ($ a 'y))) alist

(Chez) Scheme macro for hiding lambdas

社会主义新天地 提交于 2020-05-13 14:34:12
问题 I would like to write a macro to create shorthand syntax for hiding more verbose lambda expressions, but I'm struggling to understand how to write macros (which I realize is an argument against using them). Given this example: (define alist-example '((x 1 2 3) (y 4 5 6) (z 7 8 9))) (define ($ alist name) (cdr (assoc name alist))) ((lambda (a) (map (lambda (x y z) (+ x y z)) ($ a 'x) ($ a 'y) ($ a 'z))) alist-example) ((lambda (a) (map (lambda (y) (/ y (apply max ($ a 'y)))) ($ a 'y))) alist

In Bash test if associative array is declared

社会主义新天地 提交于 2020-05-11 04:20:11
问题 How can I test if an associative array is declared in Bash? I can test for a variable like: [ -z $FOO ] && echo nope but I doesn't seem to work for associative arrays: $unset FOO $declare -A FOO $[ -z $FOO ] && echo nope nope $FOO=([1]=foo) $ [ -z $FOO ] && echo nope nope $ echo ${FOO[@]} foo EDIT: Thank you for your answers, both seem to work so I let the speed decide: $ cat test1.sh #!/bin/bash for i in {1..100000}; do size=${#array[@]} [ "$size" -lt 1 ] && : done $ time bash test1.sh #best

How can an associative multidimensional (multiple dimensions) PHP array get converted to downloadable CSV?

我的梦境 提交于 2020-04-30 06:24:50
问题 I have an associative multidimensional (dynamic length of dimensions) array. It originally comes from JSON data, but I understand that just makes things harder so I convert it using json_decode($original_data, true) . I'm interested to convert it to a clickable CSV file like echo '<a href="data:application/csv, ' . $data . '">Click to download</a>' . I've tried many code variations, one of which I found online in https://coderwall.com/p/zvzwwa/array-to-comma-separated-string-in-php because