How to get the position of same elements in php? [closed] - php

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 2 years ago.
Improve this question
I need your help to get the position of duplicate or same elements in an array.
For example
$arr =[6,5,3,7,40,45,7,6,3,32,86,40,5,3,7,40];
Result
6 = 0,7
5 = 1,11
3 = 2,8
7 = 3,6,14
40 = 4,11,15
45 =5 and so on.

One simple approach:
<?php
$arr =[6,5,3,7,40,45,7,6,3,32,86,40,5,3,7,40];
$pos = array();
foreach($arr as $k => $v) {
$pos[$v][] = $k;
}
foreach($pos as $k => $v) {
echo $k."=".implode(',', $v)."<br>";
}
?>
Result:
6=0,7
5=1,12
3=2,8,13
7=3,6,14
40=4,11,15
45=5
32=9
86=10

Related

How to split one group into seperate using php [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 2 years ago.
Improve this question
I want split one group AS follow
splitGroups("11133355557777") ➞ ["111", "333", "5555", "7777"]
Anyone have idea then let me know
With php version 5 above this will work link to execute
Link to an example https://paiza.io/projects/qfRZ07OP3OviWCVsUbdFtQ
function splitGroups($str){
$arr = [];
$i=0;
$sub = '';
while($i!=strlen($str))
{
$sub .= $str[$i];
if ( strlen($str)-1 == $i || $str[$i] != $str[$i+1] ){
$arr[] = $sub;
$sub='';
}
$i++;
}
return $arr;
}

Division PHP in foreach [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 2 years ago.
Improve this question
I have
$div = 100
$value = 502
$sum = $val / $div
how can i get output like this
100
100
100
100
100
2
any reffrence to learn more?
Here's one way to do it:
$div = 100;
$value = 502;
while($value > $div) {
$value = $value - $div;
echo $div . "<br>";
}
echo $value

How to make image for each x numbers [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 6 years ago.
Improve this question
How to replace 200 numbers with an image?
This example :
For example
When user have 200 numbers He takes 1 image
When user have 830 He take 4 image
what php code I need it?
Sorry but I havn't Any code
Thanks in advance
$votes = 10334;
$starCount = intval($votes/ 200);
$starCount = $starCount > 5 ? 5 : $starCount; //if maximum 5 stars
$a = 1;
$starsString = '';
for ($a; $a <= $starCount; $a++) {
$starsString .= '⛤'; // or '<img src="https://i.stack.imgur.com/EhAy4.gif" alt="here">'
}
echo $starsString;

PHP check if value is one of other numbers in loop [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 7 years ago.
Improve this question
If i have a loop for example
for ($a=1; $a<6; $a++)
Is it possible to say for the first loop if another variable like $b is the same as one of the other numbers that will come like 2, 3, 4 or 5.
And what if i have a word split, so every letter is a variable like this:
$letter1 = str_split($word)[0];
$letter2 = str_split($word)[1];
$letter3 = str_split($word)[2];
$letter4 = str_split($word)[3];
$letter5 = str_split($word)[4];
How can i check if $a is at 1 in the loop,if it is not letter1 but letter2, 3, 4 or 5?
sure. Just check it against the counter:
for ($a=1; $a<6; $a++){
if ($a===$b){
echo ("b is caught!");
break;
}
}

how to use biasedNumberBetween faker? [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 7 years ago.
Improve this question
I am trying to get a number between 1 to 6 with more chances to be close to 1.
i have tried this:
<li>{{Faker\Factory::create()->biasedNumberBetween($min = 10, $max = 20, $function = 'unbiased')}}</li>
What i am trying to do is to generate a number from 1 to 6 rand(1,6); but make the numbers be closer to one as the lower numbers will have more weight than the others.
Something like this ?
<?php
function weightedRand($min, $max, $weightedMax) {
$arr = array();
for($i = 0; $i < 10; $i++) {
$arr[] = rand($min, $weightedMax);
}
$arr[] = rand($min, $max);
return $arr[rand(0,10)];
}
echo weightedRand(1,6, 3);
?>
numbers below 4 will now be more likely than numbers above :)

Categories